WO2008005751A2 - Self-organized and self-managed ad hoc communications network - Google Patents

Self-organized and self-managed ad hoc communications network Download PDF

Info

Publication number
WO2008005751A2
WO2008005751A2 PCT/US2007/072114 US2007072114W WO2008005751A2 WO 2008005751 A2 WO2008005751 A2 WO 2008005751A2 US 2007072114 W US2007072114 W US 2007072114W WO 2008005751 A2 WO2008005751 A2 WO 2008005751A2
Authority
WO
WIPO (PCT)
Prior art keywords
station
atts
message
transmit
stations
Prior art date
Application number
PCT/US2007/072114
Other languages
French (fr)
Other versions
WO2008005751A3 (en
Inventor
David M. Smith
G. Allan Whittaker
Original Assignee
Abidanet, Llc
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 Abidanet, Llc filed Critical Abidanet, Llc
Publication of WO2008005751A2 publication Critical patent/WO2008005751A2/en
Publication of WO2008005751A3 publication Critical patent/WO2008005751A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access, e.g. scheduled or random access
    • H04W74/04Scheduled or contention-free access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the present invention generally relates to networks and, more particularly, to self-organized, self-managed and efficient ad hoc communications networks, which provide for a number of opportunities for each station to transmit over a complete Authority To Transmit Sequence cycle, near-optimization of the network bandwidth using the Authority To Transmit Sequence, and/or adding and dropping stations without disrupting the network.
  • Portions of the disclosure herein contain material that is subject protected by copyright. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file and/or records, but otherwise reserves all rights in such copyrights.
  • ATTSTM, BSTTSTM, IDMTM, and IDMATM are trademarks and/or service marks of AbidaNet LLC.
  • a method of operating a network has a plurality of stations, each station being capable of transmitting and receiving.
  • the network is preferably operated by defining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, transmitting a message from the first station, transmitting a message from each of the intermediate stations in their order of listing, transmitting a message from the last station, reversing the order of the ATTS, transmitting another message from the last station, transmitting another message from each of the intermediate stations in their reverse order of listing, transmitting another message from the first station, and then repeating the process beginning with transmitting a message from the first station.
  • a reverse ATTS is preferably used which specifies the order in which the stations may transmit and which order is reverse to that of the ATTS.
  • the network has a plurality of stations, each station being capable of transmitting and receiving.
  • the network is preferably operated by obtaining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, defining a reverse ATTS based upon the ATTS, the order in which the stations may transmit being reverse to the order of the ATTS, receiving messages, inspecting each message to determine if it was from a predecessor station in the
  • ATTS Authorization To Transmit Sequence
  • an option is to estimate the time at which a message from the predecessor station should be received and, if that estimated time has passed and a message has not been received from the predecessor station, then transmitting a message.
  • this method still another option is to estimate the time at which a message from the predecessor station should be received and, if that estimated time has passed and a message has not been received from the predecessor station, then transmitting a message and removing that predecessor station from the ATTS and the reverse ATTS.
  • the network has a plurality of stations, each station being capable of transmitting and receiving.
  • the network is preferably operated by obtaining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, at a predetermined time, sending a pause message to invite a new station to join the network, if a reply message is received then sending a station identity and the ATTS to the new station, receiving a revised ATTS from the new station, the revised ATTS listing the new station, and transmitting a message in accordance with the revised ATTS .
  • AWS Authorization To Transmit Sequence
  • an option is to inspect each message to determine if it was from a predecessor station in the revised ATTS and, if the message was from a predecessor station, then, once that message is complete, beginning transmission of a message.
  • a method of operating a station wishing to join a network is also described, the network comprising a plurality of stations, each station being capable of transmitting and receiving.
  • the station is preferably operated by listening on the network for a pause message inviting new stations to join the network, sending a reply to the pause message, receiving an
  • the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, determining propagation times between the joining station and at least some of the stations listed in the ATTS, determining a position in the ATTS where the joining station should be placed, defining a revised ATTS listing the joining station in that position, receiving a message authorizing the joining station to transmit, transmitting a message, the message including the revised ATTS, and transmitting further messages in accordance with the revised ATTS.
  • TOTS Authorization To Transmit Sequence
  • an option is to determine the position so as to maintain network efficiency.
  • a method of operating a station wishing to join a network is also described, the network comprising a plurality of stations, each station being capable of transmitting and receiving.
  • the station is preferably operated by listening on the network for a pause message inviting new stations to join the network, sending a reply to the pause message, receiving a designation of a Parent Station in a cluster and at least part of an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, the at least part including stations in the cluster, determining propagation times between the joining station and at least some of the stations in that cluster which are listed in the at least part of the ATTS, determining a position in the at least part of the ATTS where the joining station should be placed with respect to the stations in that cluster so as to maintain network efficiency, defining a revised at least part of the ATTS listing the joining station in that position, receiving a message authorizing the joining station to transmit,
  • ATS Author
  • an option is to receive a local ATTS, the local ATTS being included within the ATTS.
  • Another option is to determine a plurality of network propagation times, each network propagation time being for a different ordering of transmissions for the at least part of the ATTS and including the joining station, and being based upon propagation times between the joining station and at least some of the stations in that cluster which are listed in the at least part of the ATTS, determine the minimum propagation time of the plurality of network propagation times, and provide the ordering of transmissions which resulted in the minimum propagation time as a revised at least part of the ATTS.
  • a network has a plurality of stations, each station being capable of transmitting and receiving.
  • Each station preferably has a transmitter to transmit messages, a receiver to receive messages, a controller functionally connected to the transmitter to control the transmitter, functionally connected to the receiver to process messages received by the receiver, and also has a memory to store and retrieve an Authorization To Transmit Sequence (ATTS) which specifies an order in which the stations may transmit, the ATTS listing a first station of the plurality of stations, at least one intermediate station of the plurality of stations, and a last station of the plurality of stations, the controller being responsive to the ATTS and
  • ATS Authorization To Transmit Sequence
  • the controller of the first station causes the transmitter of the first station to transmit a first message if the ATTS is in effect, and the controller inspects a received message and causes the transmitter of the first station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS, the controller of each intermediate station inspects a received message and causes the transmitter of the intermediate station to transmit a message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the intermediate station to transmit a message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS, and the controller of the last station inspects a received message and causes the transmitter of the last station to transmit a first message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the last station to transmit a second message if the reverse ATTS is in effect and
  • one option is for a controller to implement a reverse ATTS by reversing the order in the ATTS.
  • a controller in this network, another option is for a controller to also cause the transmitter to transmit a message if the ATTS is in effect and a message was not timely received from an immediately preceding station in the ATTS, or to cause the transmitter to transmit a message if the reverse ATTS is in effect and a message was timely received from an immediately preceding station in the reverse ATTS.
  • a station In this network, another option is for a station to have a station interface, and the controller to be in the station interface.
  • a station for use with a network having a plurality of stations is also described, each station being capable of transmitting and receiving.
  • a station has a transmitter to transmit messages, a receiver to receive messages, and a controller functionally connected to
  • the transmitter to control the transmitter, functionally connected to the receiver to process messages received by the receiver, and having a memory to store and retrieve an Authorization To Transmit Sequence (ATTS) which specifies when the station may transmit with respect to other stations listed in the ATTS, the ATTS listing a plurality of stations, the plurality of stations having a first station, at least one intermediate station, and a last station, the controller being responsive to the ATTS and to a reverse ATTS to cause the transmitter to transmit, the controller inspecting a received message and causing the transmitter to transmit a message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, or causing the transmitter to transmit a message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
  • ATTS Authorization To Transmit Sequence
  • a controller may implement a reverse ATTS by reversing the order in the ATTS.
  • the controller may also cause the transmitter to transmit a message if the ATTS is in effect and a message was not timely received from an immediately preceding station in the ATTS, or cause the transmitter to transmit a message if the reverse ATTS is in effect and a message was timely received from an immediately preceding station in the reverse ATTS.
  • the controller of the first station causes the transmitter of the first station to transmit a first message if the ATTS is in effect, and the controller inspects a received message and causes the transmitter of the first station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
  • a station is the last station in the ATTS
  • the controller of the last station inspects a received message and causes the transmitter of the last station to transmit a first message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the last station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
  • a station may have a station interface, and the controller may be in the station interface.
  • the present invention provides for networks that is are self-organizing.
  • the present invention provides for networks that is are self -managed.
  • the present invention provides for a network in which each device has a number of opportunities, including, but not limited to, an equal number of opportunities, to transmit over a complete Authority To Transmit Sequence cycle. [00031]
  • the present invention provides for a network in which collision detection and avoidance schemes are not required.
  • the present invention provides for a network in which stations can join the network or drop out of the network without disruption network operations.
  • FIG. 1 illustrates a planar cross-section projection of the behavior of a five
  • Station BSTTS network transmitting in 3-dimensional free space.
  • FIG. 2 illustrates the distribution of broadcast energy along a radial transmission cross-section of the planar cross-section projection in FIG. 1.
  • FIG. 3 illustrates a typical BSTTS message as it might appear on a transmission media.
  • FIG. 4A is a network showing two stations connected via Station Interfaces.
  • FTGs. 4B and 4C show network events for ATTS IDM message Cycles as detected and processed at different Station Interfaces.
  • FIG. 5A illustrates an exemplary branched network.
  • FIGs. 5B-5G illustrate the operation of an MPT ATTS as transmitted, received and processed by Station Interfaces and also illustrate the timing of a normal IDM Message
  • FIG. 6 illustrates some examples of transmission media.
  • FIGs. 7 A and 7B illustrate propagation times and propagation time equalities used in connection with the descriptions concerning the network.
  • FIG. 8 is an illustration of a larger BSTTS network with a plurality of connected fixed and/or mobile stations and one station requesting to join.
  • FIG. 9 is an exemplary state transition diagram illustrating the various states of a
  • FIGs. 10-12 illustrate the message sequence diagrams for startup and joinder conditions.
  • FIGs. 13A and 13B are block diagrams illustrating the functional elements of an exemplary Station Interface.
  • the preferred environment of the present invention is a collection of fixed and/or mobile stations forming one or more transmission networks. Any available and appropriate transmission media, singularly or in combination, without regard to media boundaries, may be used. Some non-limiting examples of transmission media, which may be used, are shown in FIG. 6.
  • the BSTTS station interface methods and devices described herein construct, optimize, and self-manage the flow of information between the stations and transmission media, including, but is not limited to, the organization, control, and optimization of the flow of information through communications media.
  • a BSTTS Station Interface is referred to as "Station Interface”.
  • a BSTTS network consists of one or more stations, including their Station Interfaces, connected in one or more network topologies, and interfaced to any appropriate and available transmission media.
  • each active Station Interface holds an identical copy of an ordered set of transmitter identities, the ATTS, which specifies the progression in which Station Interfaces are permitted to transmit.
  • Station transmitters do not transmit at times and/or at frequencies other than those times and those frequencies specified by the ATTS, thereby eliminating collisions and the need for arbitration.
  • the ATTS provides order and prevents collisions when a plurality of Station Interfaces use the same communications technology and might otherwise interfere with each other's communications. Different ATTS may exist for different media. For example, there may be one ATTS for wired communications, another ATTS for low frequency communications, another ATTS for high frequency communications, still another
  • a Station Interface may operate under more than one ATTS.
  • the Station Interface may use one ATTS for performing low frequency communications, another ATTS for performing high frequency communications, and still another ATTS for performing acoustic communications.
  • a beginning station on the ATTS which is not necessarily the first station of the ATTS ordered set, initiates a message transmission cycle by sending its data message. The remaining stations then transmit their messages in the order specified by the ATTS.
  • the beginning Station Interface of the ATTS awaits the arrival of the data from the last Station Interface defined by the ATTS.
  • the last station When its turn to transmit arrives the last station could, for example, send its message and, when that message reached the beginning station, the process would begin again starting with the first station. In the preferred embodiment, however, rather than wasting the bandwidth waiting for that message to travel from the last station back to the beginning station, a second, reverse ATTS message set is initiated.
  • the last Station Interface After transmitting its message, which can include a payload, for the forward ATTS sequence, the last Station Interface immediately reverses the ATTS and sends a second message, which can also carry a payload.
  • the authority to transmit, as specified by the reverse ATTS reaches the beginning station, the transmit ATTS is again reversed.
  • One of these transmission sequences in which each station has two opportunities to transmit is considered to be an "IDM Message Cycle.” If a Station Interface does not have a data packet ready to send when it is that Station Interface's turn to transmit, then that Station Interface transmits a status message instead of payload data. This maintains the ATTS integrity and also allows that Station Interface to report its current statistics and/or to indicate its continued presence on the network. [00054] During normal operation, data traffic is maintained entirely by the flow of data or status information between Station Interfaces in the ATTS prescribed order, without the need for Master controllers and/or timing reference signals and/or frequency reference signals. No special control Station Interface, and/or arbitration Station Interface, and/or Master Station Interface is required. When a Station Interface receives a message it checks for the origin of the message. If the message came from the Station Interface which is its immediate predecessor on the ATTS, then it is that Station Interface's turn to transmit as soon as the incoming message has been competed.
  • the methods and devices disclosed herein can be used on a variety of different networks, composed of the same and/or different transmission media, and are preferably, but
  • 1177967 10 not necessarily, implemented using free space transmission.
  • omnidirectional and segmented branched networks are possible and contemplated.
  • the messages from each Station Interface are routed in all directions over the network so that each message can be received, where permitted, at every Station Interface.
  • the speed with which each Station Interface receives a message is limited only by the respective propagation delay through the transmission media from the transmitting Station Interface.
  • the order in which Station Interfaces have the authority to transmit preferably progresses in one direction at a time along the ATTS, connecting all active Station Interfaces forming that segment of the network.
  • FIG. 1 illustrates a snapshot planar cross-section of an exemplary BSTTS network 100 embodiment among stations broadcasting in 3-dimensional free space. Initial studies have shown that embodiments of the present invention can use much, possibly up to 99%, of the theoretical bandwidth available to network users, with latencies being a small fraction of those inherent in even the most expensive switched networks. [00057] Only five mobile stations 101 (101a, 101b, 101c, 101d and lOle) are shown for simplicity.
  • the five stations 101 are shown in the process of executing a normal IDM Message cycle. At the time when one, two or all stations 101 process received messages 300, the reception of the messages 300 may be acknowledged by one, two or all stations 101.
  • ATTS transmissions are authorized in station alphabetical order:
  • station 101a has authority, and begins, to transmit message 300al.
  • station 101b sends message 300bl.
  • station 101c sends message 300cl.
  • station 101d sends message 300dl.
  • station lOle sends message 300el.
  • station lOle As station lOle is the ATTS 1O o limit, or end point, station lOle immediately sends message 300e2 back toward station 101d. As soon as message 300e2 reaches station 101d, station 101d sends message 300d2. As soon as message 300d2 reaches station 101c, station 101c sends message 300c2. As soon as message 300c2 reaches station 101b, station 101b sends message 300b2. As soon as message 300b2 reaches station 101a, station 101a is ready to send, and sends, message 300a2. This completes a full cycle as each station has transmitted two messages. As station 101a is the ATTS 1 Oo limit, station 101a sends message 300a3 immediately following message 300a2.
  • station 101a is shown as being at the center of messages 300al and 300a2
  • station 101b is shown as being at the center of messages 300bl and 300b2, etc.
  • Fig. 1 One may look at Fig. 1 as showing that messages 300al-300el and 300e2- 300c2 have now been received by, and propagated beyond, all stations 101, but that message 300b2 has just been transmitted and has not yet reached the closest neighbor station 101a.
  • Continuous IDM Message cycles for network 100 repeat ATTSioo until one and/or all stations 101 cease to transmit. Note that each station, including the starting and ending stations, has had the opportunity to transmit two times, the same as any other station.
  • FIG. 2 illustrates the energy distribution along cross-section 200 with station 101a to the left and the outer edge of message 300al to the right.
  • Fig. 3 illustrates a typical BSTTS message 300 as it might appear on a transmission media 600.
  • a BSTTS message 300 may be, and is preferably, formed by adding one or more fields to the standard message packet used by many system embodiments and known to one skilled in the art.
  • a BSTTS network does not require that messages 300 conform to some minimum message length and/or to a fixed message length.
  • messages 300 include a header, an information payload, and a trailer.
  • a station could transmit as long as desired and release the communications media 600 only when it has transmitted everything.
  • physical and operational constraints may require that the size of the payload of any one message be restricted to some maximum value, and a longer message may be subdivided into shorter messages to meet this maximum message size.
  • This maximum message size may be determined by the specific environmental criteria, for example, but not limited to: limitations imposed by physical constraints in the Station Interface devices between the station and the transmission media 600; fair access to the transmission media 600 by all stations, bit error rate of the transmission media 600; and Contract Quality of Service.
  • the Station Interface when a Station Interface does not have any data from its associated station to transmit for a payload 319, the Station Interface transmits a message 300
  • the Station Interface transmits a message 300 whose payload 319 reports the changes to its statistics and status.
  • the Station Interface transmits a minimum message 300. [00070] The transmission of a status or minimum message 300 provides certain benefits.
  • this keeps wireless, optical and electrical phase lock loops "locked"; it informs all Station Interfaces that the Station Interface and its station are functioning properly even though the Station Interface does not have a payload 319 to send; it permits the health of each Station Interface and station to be easily determined by all Station Interfaces and stations; it informs the next Station Interface in the ATTS of its authority to transmit; it enables dynamic testing of the transmission media 600 physical layer while it is operating, in contrast to other protocols, which must be taken off-line to test the physical layer; and it eliminates the need for separate mechanisms and/or separate bandwidth limiting messages to determine the health of the operating network.
  • a typical BSTTS message 300 preferably consists primarily of augmented standard packet information, such as, but not limited to: a header, a payload, and a trailer.
  • a header may, for example, include the following fields: start-of-leader 301, leader 303, start- of-routing 305, routing 307, start-of-type 309, message type 311, start-of-time-and-status 313, and time-and-status 315.
  • the start-of-leader 301 and leader 303 fields may be considered to be a preamble.
  • a payload may, for example, include the following fields or message-elements: start-of-payload 317, and user-payload 319.
  • a trailer may, for example, include the following fields or message elements: start-of-trailer 321, trailer 323, and end-of- trailer 325.
  • the preamble permits the Station Interface detecting sensors to synchronize with the frequency and/or phase of a particular message, for example, but not limited to, when clock recovery transmission is employed.
  • the length of the preamble is, for example, but not limited to, a function of the performance of the transmission media and the synchronization mechanism associated with the specific transmission media and can be specified as a system initialization parameter.
  • the start-of-leader 301 in one embodiment, contains zero bits.
  • the routing information (message-elements: start-of-routing 305 and routing 307) indicates both the local destination(s) and the ultimate destination(s) of the payload.
  • the 1177967 14 routing information can be thought of as an address, which identifies, but is not limited to, such information as transmitting device addresses, receiving device addresses, device network segments, device network associations, and device frequencies of operation.
  • the start-of-routing 305 in one embodiment contains zero bits.
  • the Station Interfaces may use message category (message-elements: start-of- type 309 and message type 311) and timing and status information (message-elements: start- of-time-and-status 313 and time-and-status 315) to organize and to maintain the ATTS.
  • the start-of-type 309 and start-of-time-and-status 313 fields in one embodiment of the present invention contains zero bits.
  • the message timing and status information (components: start-of-time-and- status 313 and time-and-status 315) provides each Station Interface with the capability to acknowledge the receipt of any and/or all specific messages, thereby enabling assured delivery of information to any station, without extra message traffic and within one IDM Message Cycle. This information may also be used to determine the propagation time.
  • the start-of-payload 317 indicates that the user information content follows. The start-of-payload may be used to control Station Interface execution.
  • the start-of-payload 317 field in one embodiment of the present invention contains zero bits.
  • the payload 319 contains the station information for transmission and reception, which may be sized for each individual transmission from zero bits to some implementation- dependent maximum value of bits, and is delivered and received according to the routing information 307.
  • the trailer permits each Station Interface, which processes BSTTS message 300 structure, to verify the integrity of the header and payload information.
  • the end-of-trailer 325 field may be used to tune the performance of the transmission media.
  • the start-of-trailer 321 and end-of-trailer 325 fields in one embodiment contains zero bits.
  • the minimum message 300 in one embodiment, consists of the preamble 303 and trailer 323.
  • the BSTTS message 300 control elements contain information that may be used by or to direct a Station Interface to perform serial and/or parallel processing of message 300.
  • Station Interfaces transmit or send a message 300 and/or a message 300 propagates throughout the BSTTS network, for example, but not limited to, BSTTS networks: 100, 400, 500, and 800. They are variously referred to
  • Transmits Message 300 preferably means that a Station Interface transfers message 300 from its internal storage and couples the message 300 onto one, two or a plurality of transmission media 600.
  • ATTS defined Station Interfaces generally do not have the authority to transmit until the detection of message end-of-trailer 325, there are neither collisions nor a need to perform arbitration while message 300 is delivered throughout the network.
  • One benefit provided is that the duty cycle of the Station Interface transmitters will be lower than in conventional networks because the ATTS specifies the times when the transmitter active elements are energized.
  • transmission may begin once the end- of-trailer 325 from the predecessor station interface has been received, or when a timeout has occurred without a transmission from the predecessor station interface. This in turn indicates that the Station Interface transmitters may have a higher Mean Time Between Failure, resulting in more cost effective user networks.
  • Station Interfaces receive and process messages 300, which are associated with a start-of-preamble 301. These instances are variously referred to herein as “Receive Message”, or “Receive Messages”, or “Receives Message”, or “Receives Messages, or “Receiving Message” but, unless otherwise indicated, generally have the same meaning and effect.
  • the phrase "Receive Message 300" preferably means that a Station Interface detects a start-of-preamble 301, accepts (inputs) message 300 and performs certain processing, such as, but limited to the following: reading and then resetting its message-arrival-timer; and determining what action to take with respect to the message.
  • a Station Interface determines, from received routing element 307, that the payload 319 is addressed to it but the Station Interface does not have the capability to accept the message 300, then Station Interface does not accept the payload 319 and does not acknowledge the receipt of the message 300. This failure to acknowledge receipt indicates, for example, that the sending Station Interface should re-transmit the message 300 during a future EDM Message Cycle. If the message 300 is addressed to the Station Interface, and the Station Interface has the ability to accept the message, then the Station Interface accepts and acknowledges receipt of the message 300. In one preferred embodiment, even if the message
  • the Station Interface may process the message 300 to measure transmission media 600 quality.
  • An inability to accept a message may be because, for example, the message buffers in the Station Interface are full and/or the message buffers in the Station are full, or the Station is not in operation at that time.
  • message acknowledgement receipts can be formed, transmitted and received within one IDM Message Cycle, rather than, for example, requiring the use of multiple bandwidth limiting messages requiring multiple transmissions and/or separate signaling paths.
  • FIG. 4A illustrates a simple network 400 showing station 101a connected via transmission media 600b to Station Interface 501a and station 101b connected via transmission media 600c to Station Interface 501b.
  • Station Interface 501a is connected to Station Interface 501b via transmission media 60Oe.
  • Station 101a messages transmitted by Station Interface 501a travel simultaneously in both directions: 1) direction 405a along the transmission media 60Od and 2) direction 405b along the transmission medium 60Oe, being detected some propagation time later t AB 107 (Fig. 4A) by the other station 101b Station Interface 501b.
  • station 101b messages transmitted by Station Interface 501b travel simultaneously in both directions: 1) direction 405d along transmission media 60Of and 2) direction 405d along the shared transmission medium 60Oe, being detected some propagation time later t AB 107 by the other station 101a Station Interface 501a.
  • This communication may be, for example, half-duplex communication, i.e., two-way communication, one direction at a time via one transmission media 600.
  • Parallel duplex and multiplex communications, over two or a plurality of transmission media 600 between two or a plurality of Station Interfaces and a two or a plurality of transmission media 600 connected among a plurality of Station Interfaces, using the same and/or different transmission media 600, may also be efficiently organized, controlled, optimized, and operated using the techniques disclosed herein.
  • vertically crosshatched message-elements represent the times when a message 300 is being transmitted by a Station Interface
  • horizontally crosshatched message-elements represent the propagation times between messages 300
  • non-crosshatched message-elements represent the times when Station Interfaces process messages 300.
  • ATTS4 0 0 and ATTS401 are, in this example, equivalent, exact, and equal ATTS 's, with MPT that could control IDM Message Cycles 407 (407a, 407b, 407c, 407d, 407e, and 407f).
  • the ordered set notation ATTS 40O ⁇ Station Interface 501a, Station Interface 501b> means, in this example, that Station Interfaces 501a and 501b are the network end points, and so each get two transmissions in an IDM message cycle, one transmission as the end receiving point, and one transmission as the transmitting starting point.
  • Station Interface 501a will begin the cycle so, with reference to network 400, forward direction transmissions: the first ATTS 400 defined Station Interface 501a transmits message 300al; and, after a propagation time delay of t AB 107, Station Interface 501b processes message 300al, and, because Station Interface 501a is the predecessor of Station Interface 501b, Station Interface 501b transmits message 300bl; thereby completing the first forward direction transmission.
  • "Forward" and “Reverse” refer to the ATTS sequence ordering, not to the physical direction.
  • reverse direction transmissions the last ATTS 400 defined Station Interface 501b transmits message 300b2 and begins the first reverse direction transmission.
  • Station Interface 501a processes message 300b2.
  • Station Interface 501b is the predecessor of Station Interface 501a
  • Station Interface 501a transmits message 300a2, thereby completing the first reverse direction transmission and IDM Message Cycle 407a.
  • ATTS 401 ⁇ Station Interface 501b, Station Interface 501a> so, with reference to network 400, Station Interface 501b will begin the cycle.
  • the forward direction transmissions are then: the first ATTS 401 defined Station Interface 501b transmits message 300bl; and, after a propagation time delay of t AB 107, Station Interface 501a processes message 300bl, and because Station Interface 501b is the predecessor of Station Interface 501a, Station Interface 501a transmits message 300al completing the first forward direction transmissions.
  • reverse direction transmissions the last ATTS 4 Q 1 defined Station Interface 501a transmits message 300a2; beginning the first
  • Station Interface 501b processes message 300a2, and, because Station Interface 501a is the predecessor of Station Interface 501b, Station Interface 501b transmits message 300b2; thereby completing the first reverse direction transmissions and also completing the IDM Message Cycle 407d.
  • FIG. 4B shows network 400 events for ATTS 4O0 H)M message Cycles 407a, 407b, and 407c as detected and processed at Station Interface 501a.
  • ATTS 400 Station Interface 501a commences IDM message Cycle 1 407a by transmitting message 300al.
  • Station Interface 501a sets its message-arrival-timer to 2tAB 107a.
  • 2t AB 107a At an approximate elapsed time interval 2t AB 107a
  • Station Interface 501a receives message 300bl.
  • Station Interface 501a knows to wait for and to receive message 300b2 for the reverse direction ATTS transmission and then, because Station Interface 501b is Station Interface 501a predecessor, Station Interface 501a transmits message 300a2 completing IDM message Cycle 1 407a. As Station Interface 501a is the first ATTS 40O defined Station Interface, it then transmits message 300a3, thereby commencing IDM message Cycle 2 407b. Station Interface 501a sets its message-arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2t AB 107a, Station Interface 501a receives message 300b3.
  • Station Interface 501a knows to wait for and to receive message 300b4 and then, because Station Interface 501b is Station Interface 501a predecessor, Station Interface 501a transmits message 300a4, thereby completing IDM message Cycle 2 407b.
  • Station Interface 501a is the first ATTS4 00 defined Station Interface, it immediately transmits message 300a5 starting IDM message Cycle 3 407c.
  • Station Interface 501a sets its message- arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2t A ⁇ 107a Station Interface 501a receives message 300b5.
  • Station Interface 501a After its ATTS 400 copy Station Interface 501a knows to wait for and to receive message 300b6 and then, because Station Interface 501b is Station Interface 501a predecessor, Station Interface 501a transmits message 300a6, thereby completing IDM message Cycle 3 407c. As Station Interface 501a is the first ATTS 40O defined Station Interface, it immediately transmits message 300a7, thereby commencing the next IDM message Cycle. Station Interface 501a sets its message-arrival-timer to 2tAB 107a and awaits the arrival message 300b7 from Station Interface 501b.
  • FIG. 4C shows network 400 events for ATTS 4O o IDM message Cycles 407d, 407e, and 407f as detected and processed by Station Interface 501b.
  • Station Interface 501b samples transmission media 60Oe for a message 300 indicated by the arrival of
  • Time interval tA B 107 is the time shift between events at the two Station Interfaces 501a and 501b due to media 60Oe propagation time between them.
  • IDM message Cycle 1 407d commences when Station Interface 501b receives message 300al and then, because Station Interface 501a is Station Interface 501b predecessor, Station Interface 501b transmits message 300bl. As Station Interface 501b is the last ATTS 400 defined station, it then transmits message 300b2.
  • Station Interface 501b sets its message-arrival-timer to 2tAB 107a.
  • Station Interface 501b receives message 300a2.
  • Station Interface 501b knows to wait for and to receive message 300a3.
  • IDM message Cycle 2 407e begins as Station Interface 501b receives message 300a3 and then, because Station Interface 501a is Station Interface 501b predecessor, Station Interface 501b transmits message 300b3.
  • Station Interface 501b transmits message 300b4.
  • Station Interface 501b sets its message-arrival-timer to 2tAB 107a.
  • Station Interface 501b receives message 300a4.
  • Station Interface 501b knows to wait for and to receive message 300a5.
  • IDM message Cycle 2 407f begins as Station Interface 501b receives message 300a5 and then, because Station Interface 501a is Station Interface 501b predecessor, Station Interface 501b transmits message 300b5. As the last ATTS4 00 defined Station Interface, Station Interface 501b then transmits message 300b6.
  • Station Interface 501a sets its message-arrival-timer to 2tAB 107a. At an approximate time 2t AB 107a Station Interface 501b receives message 300a6. This completes IDM message Cycle 3 407f. From its ATTS4 00 copy, Station Interface 501b knows to wait for and to receive message 300a7. Station Interface 501b commences the next IDM message Cycle by beginning to receive message 300a7.
  • FIG. 4B and FIG. 4C illustrate normal ATTS controlled IDM Message Cycles 407 (407a, 407b, 407c, 407d, 407e and 407f) operations between Station Interfaces 501a and 501b to deliver information between the stations 101a and station 101b.
  • the present invention is not limited to the simple case of Figs. 4A-4C but also may be applied to, for example, networks that broadcast in free space, networks with larger numbers of stations, networks with one, two and a plurality of branches with larger numbers of stations, networks with one, two or a plurality of interconnecting transmission media 600, and networks composed of mobile and/or fixed stations.
  • FIGs. 5A-5G illustrate a larger network 500 and the operation thereof.
  • FIG. 5A illustrates an exemplary branched network 500, which is composed of six stations 101 (101a, 101b, 101c, 101d, lOle and 10If).
  • Stations 101 may be of any arbitrary complexity and may be connected via one or more of the same or different transmission media 600 to their Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f.
  • Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f may be connected to transmission media 600a in functional equivalent implementations.
  • Transmission media 600 and 600a may consist of one or more transmission media.
  • the six stations 101 are shown connected via transmission media to their respective Station Interfaces 501, which are, in turn, interconnected by physical transmission media segments 600al, 600a2, 600a3, 600a4, 600a5, 600a6, 600a7, and 600a8.
  • Multiple different BSTTS messages 300 may be simultaneously propagating along different transmission media 600a segments and transmission media 600. Additionally, messages 300 transmitted by Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f within branched network 500 can potentially travel simultaneously in multiple directions along transmission media 600a. For example, but not limited to, messages 300 transmitted by Station Interface 501d within branched network 500 initially travel simultaneously along transmission media segments 600a4 and 600a5, messages 300 transmitted by Station
  • Energy propagating along transmission media segment 600a6 to Station Interface 501b is also propagating to Station Interface 501b, to transmission media segment 600a2, and transmission media segment 600a3. Energy propagating along transmission media segment 600a3 to Station Interface 501b is also propagating to Station Interface 501b, to transmission media segment 600a2, and transmission media segment 600a6. Energy propagating along transmission media segment 600a2 to Station Interface 501b is also propagating to Station Interface 501b, to transmission media segment 600a3, and transmission media segment 600a6. [000101] FIGs.
  • 5B-5G illustrate the operation of an MPT ATTS 50O as transmitted, received and processed by Station Interfaces 501d, 501c, 501b, 501a, 501e and 501f, respectively, and also illustrate the timing of a normal IDM Message Cycle across the simple branched network 500.
  • the branched network 500 operates at optimum throughput efficiency, because the ATTS 500 operates with MPT.
  • the ATTS 500 transmitted message sequence associated with FIGs. 5B-5G may be described as follows.
  • the first ATTS 500 ordered set member, Station Interface 501d commences IDM message Cycles 1 407g, 407h, 407i, 407j, 407k, and 4071 by transmitting message 300dl for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 50 If to receive message 300dl.
  • Station Interface 501c receives message 300dl from Station Interface 501d.
  • Station Interface 501c transmits message 300cl for one or all other Station Interfaces 501a, 501b, 501d, 501e, and 501f to receive message 300cl.
  • Station Interface 501c transmits message 300cl for one or all other Station Interfaces 501a, 501b, 501d, 501e, and 501f to receive message 300cl.
  • Station Interface 501b receives messages 300dl from Station Interface 501d and message 300cl from Station Interface 501c. As the next ATTS 500 ordered set member, Station Interface 501b transmits message 300bl, for one or all other Station Interfaces 501a, 501c, 501d, 501e, and 501f to receive message 300bl. At time toe 1071 + tee 107m + t ⁇ A 107n, Station Interface 501a receives message 300dl from Station Interface 501d, message 300cl from Station Interface 501c and message 300bl from Station Interface 501b.
  • Station Interface 501a transmits message 300al, for one or all other Station Interfaces 501b, 501c, 501d, 501e, and 501f to receive message 300al.
  • Station Interface 501e receives message 300dl from Station Interface 501d, message 300cl from Station Interface 501c and message 300bl from Station Interface 501b, and after propagation delay 2t BA 107a, Station Interface 501e receives message 300al from Station Interface 501a.
  • Station Interface 501e transmits message 300el, for one or all other Station Interfaces 501a, 501b, 501c, 501d, and 501f to receive message 300el.
  • Station Interface 501f receives messages 300dl, 300cl, 300bl, and after propagation delay 2t BA 107a, receives messages 300al and 300el.
  • Station Interface 501f transmits message 300fl, for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 501f to receive message 300fl.
  • Station Interface 501f is the sixth and last ATTS 50O defined Station Interface 501f, it immediately reverses the ATTS and transmits message 300f2, for one or all other Station Interfaces 501a, 501b, 501c, 501d, and 501e to receive message 300f2.
  • Station Interface 501e receives message 300fl, and as the next ATTS 500 ordered set member, transmits message 300e2, for one or all other Station Interfaces 501a, 501b, 501c, 501d, and 501f to receive message 300e2.
  • Station Interface 501a receives message 300e2, and as the next ATTS 500 ordered set member, transmits message 300a2, for one or all other Station Interfaces 501b, 501c, 501d, 501e, and 501f to receive message 300a2.
  • Station Interface 501b receives message 300a2, and as the next ATTS500 ordered set member, transmits message 300b2, for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 501f to receive message 300b2.
  • Station Interface 501c receives message 300a2, and as the next ATTS 500 ordered set member, transmits message 300c2, for one or all other Station Interfaces 501a, 501b, 501d, 501e, and
  • Station Interface 501d receives message 300c2, and as the next ATTS 5 0 0 ordered set member, transmits message 300d2, for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 501f to receive message 300d2.
  • This transmission completes all IDM message Cycle l's 407g, 407h, 407i, 407j, 407k, and 4071.
  • Station Interface 501d is the initial ATTS 500 Station Interface, so it then initiates the next IDM message Cycle by transmitting message 300d3. [000104] FIG.
  • FIG. 5B illustrates ATTS 500 IDM message Cycle 1 407g as detected and processed by Station Interface 501d and is described as follows.
  • IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407g, as the first ATTS 500 ordered set member, Station Interface 501d transmits message 300dl, Station Interface 501d sets a message-arrival-timer to approximately 2tc D 107g, and Station Interface 501d awaits the next ATTS 500 message 300cl arrival. After approximate elapsed time interval 2tc D 107g, Station Interface 501d receives message 300cl.
  • Station Interface 501d In the forward ATTS 500 direction Station Interface 501d, is the first ATTS 500 ordered set member and does not have a predecessor, so Station Interface 501d does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2t ⁇ c 107h, and Station Interface 501d awaits the next ATTS 500 message 300bl arrival. After approximate elapsed time interval 2t ⁇ c 107h, Station Interface 501d receives message 300bl. In the forward ATTS 500 direction Station Interface 501d does not have a predecessor, so Station Interface 501d does not transmit, Station Interface 501d again sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501d awaits the next ATTS 500 message 300al arrival.
  • Station Interface 501d After approximate elapsed time interval 2t AB 107a, Station Interface 501d receives message 300al. In the forward ATTS 500 direction Station Interface 501d does not have a predecessor, so Station Interface 501d still does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2t ⁇ E 107j, and Station Interface 501d awaits the next ATTS 500 message 300el arrival. After approximate elapsed time interval 2t ⁇ E 107j, Station Interface 501d receives message 300el.
  • Station Interface 501d In the forward ATTS 50 0 direction Station Interface 501d does not have a predecessor, so Station Interface 501d does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2t ⁇ F 107k, and Station Interface 501d awaits the next ATTS 500 message 300fl arrival. After approximate elapsed time interval 2t ⁇ F 107k, Station Interface 501d receives message 300fl, which completes ATTS500 forward direction communications.
  • Station Interface 501d determines from its ATTS 500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501d reverses ATTS 500
  • Station Interface 501d receives messages 300f2 and 300e2.
  • message 300e2 source Station Interface 501e is not Station Interface 501d's predecessor (Station Interface 501c is), so Station Interface 501d does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501d awaits the next ATTS 50O message 300a2 arrival.
  • Station Interface 501d receives messages 300a2, 300b2, and 300c2.
  • message 300c2 is from Station Interface 501d predecessor (Station Interface 501c), so Station Interface 501d transmits message 300d2 thereby completing IDM message Cycle 1 407g and completing ATTS 500 reverse direction communications.
  • Station Interface 501d is the initial ATTS 500 member, so Station Interface 501d reverses ATTS500 to forward direction and Station Interface 501d then transmits message 300d3 commencing the next IDM message Cycle.
  • FIG. 5C illustrates ATTS 500 H)M message Cycle 1 407h as detected and processed by Station Interface 501c and may be described as follows.
  • IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407h, Station Interface 501c is not first ATTS 500 Station Interface 501d, so Station Interface 501c samples transmission media 600a signals, and awaits the next ATTS 5O o message 300dl arrival. After approximate elapsed time interval t ⁇ c 1071, Station Interface 501c receives message 300dl.
  • message 300dl is from Station Interface 501c' s ATTS 50 O predecessor (Station Interface 50Id), so Station Interface 501c transmits message 300cl, Station Interface 501c sets a message-arrival-timer to approximately 2tsc 107h, and Station Interface 501c awaits the next ATTS 5 oo message 300bl arrival. After approximate elapsed time interval 2t ⁇ c 107h, Station Interface 501c receives message 300bl.
  • Station Interface 501b In the forward ATTS 5 O O direction message 300bl source Station Interface 501b is not Station Interface 501c' s predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501c awaits the next ATTS 5 oo message 300al arrival. After approximate elapsed time interval 2t AB 107a, Station Interface 501c receives message 300al.
  • Station Interface 501a In the forward ATTS 50 O direction message 300al source Station Interface 501a is not Station Interface 501c's predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2t BE 107j, and Station Interface 501c awaits the next ATTS 50 o message 300el arrival. After approximate elapsed time interval 2t B E 107j, Station Interface 501c receives message 300el. In the forward ATTS 50 O direction message 300al source Station Interface 501a is not Station Interface 501c's predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2t BE 107j, and Station Interface 501c awaits the next ATTS 50 o message 300el arrival. After approximate elapsed time interval 2t B E 107j, Station Interface 501c receives message 300el. In the forward
  • Station Interface 501e is not Station Interface 501c' s predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2t ⁇ F 107k, and Station Interface 501c awaits the next ATTS 500 message 300fl arrival. After approximate elapsed time interval 2t EF 107k, Station Interface 501c receives message 300fl, which completes ATTS 500 forward direction communications.
  • Station Interface 501c determines from its ATTS 500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501c reverses ATTS 500 direction and Station Interface 501c receives messages 300f2 and 300e2. In the reverse ATTS500 direction, message 300e2 source Station Interface 501e is not Station Interface 501c' s predecessor (Station Interface 501b), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2IA B 107a, and Station Interface 501c awaits the next ATTS 50O message 300a2 arrival. After approximate elapsed time interval 2I AB 107a, Station Interface 501c receives messages 300a2 and 300b2.
  • message 300b2 is from Station Interface 501c predecessor (Station Interface 501b), so Station Interface 501c transmits message 300c2, Station Interface 501c sets a message-arrival-timer to approximately 2tc D 107g, and Station Interface 501c awaits the next ATTS 5 oo message 300d2 arrival. After approximate elapsed time interval 2tc D 107g, Station Interface 501c receives message 300d2. Since message 300d2 is from initial ATTS 50O defined Station Interface 501d, IDM message Cycle 1 407h and ATTS 50O reverse direction communications are complete. Station Interface 501c reverses ATTS 5 oo to forward direction and receives message 300d3 commencing the next IDM message Cycle. [000108] FIG.
  • FIG. 5D illustrates IDM message Cycle 1 407i ATTS 500 as detected and processed by Station Interface 501b and may be described as follows.
  • EDM message Cycle commencement such as, but not limited to, IDM message Cycle 1 407i
  • Station Interface 501b is not the first ATTS 5 oo Station Interface 501d, so Station Interface 501b samples transmission media 600a signals awaiting ATTS 500 message 300dl arrival.
  • t D c 1071 + tcB 107m Station Interface 501b receives messages 300dl and 300cl.
  • message 300cl is from Station Interface 501b's ATTS 5 O O predecessor (Station Interface 501c), so Station Interface 501b transmits message 300bl, Station Interface 501b sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501b awaits the next ATTS 5 oo message 300al arrival. After approximate elapsed time interval 2t A B 107a, Station Interface 501b receives message 300al.
  • Station Interface 501b receives message 300al.
  • Station Interface 501a is not Station Interface 501b' s predecessor (Station Interface 501c), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2t ⁇ E 107j, and Station Interface 501b awaits the next ATTS 500 message 300el arrival. After approximate elapsed time interval 2t BE 107j, Station Interface 501b receives message 300el.
  • Station Interface 501e In the forward ATTS500 direction message 300el source Station Interface 501e is not Station Interface 501b' s predecessor (Station Interface 501c), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2t EF 107k, and Station Interface 501b awaits the next ATTS 500 message 300fl arrival. After approximate elapsed time interval 2t EF 107k, Station Interface 501b receives message 300fl, which completes ATTS500 forward direction communications.
  • Station Interface 501b determines from its ATTS 500 copy that Station Interface 501f is the last ATTS 5 00 ordered set member. Station Interface 501b reverses ATTS 500 direction and Station Interface 501b receives messages 300f2 and 300e2. In the reverse ATTS500 direction, message 300e2 source Station Interface 501e is not Station Interface 501b's predecessor (Station Interface 501a), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501b awaits the next ATTS 500 message 300a2 arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501b receives message 300a2.
  • message 300a2 is from Station Interface SOlb's predecessor (Station Interface 501a), so Station Interface 501b transmits message 300b2, Station Interface 501b sets a message-arrival-timer to approximately 2t ⁇ c 107h, and Station Interface 501b awaits the next ATTS 5 oo message 300c2 arrival. After approximate elapsed time interval 2t ⁇ c 107h, Station Interface 501b receives message 300c2.
  • Station Interface 501c In the reverse ATTS 500 direction, message 300c2 source Station Interface 501c is not Station Interface 501b' s predecessor (Station Interface 501a), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2tc D 107g, and Station Interface 501b awaits the next ATTS 500 message 300d2 arrival. After approximate elapsed time interval 2tc D 107g, Station Interface 501b receives message 300d2. Since message 300d2 is from the first ATTS 500 defined Station Interface 501d, IDM message Cycle 1 407i and ATTS 500 reverse direction communications are complete. Station Interface 501b reverses ATTS 500 to forward direction and receives message 300d3 commencing the next IDM message Cycle.
  • FIG. 5E illustrates E)M message Cycle 1 407j ATTS 500 as detected and processed by Station Interface 501a and may be described as follows.
  • IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407j
  • Station Interface 501a samples transmission media 600a signals awaiting ATTS 500 message 300dl.
  • t D c 1071 + tee 107m + t BA 107n Station Interface 501a receives messages 300dl, 300cl, and 300bl.
  • message 300bl is from Station Interface 501a's ATTS5 00 predecessor (Station Interface 501b), so Station Interface 501a transmits message 300al, Station Interface 501a sets a message-arrival-timer to approximately 2t A B 107a + 2t ⁇ E 107j, and Station Interface 501a awaits the next ATTS500 message 300el arrival. After approximate elapsed time interval 2tAB 107a + 2t ⁇ E 107j, Station Interface 501a receives message 300el.
  • Station Interface 501e In the forward ATTS 500 direction message 300el source Station Interface 501e is not Station Interface 501a's predecessor (Station Interface 501b), so Station Interface 501a does not transmit, Station Interface 501a sets a message-arrival-timer to approximately 2t EF 107k, and Station Interface 501a awaits the next ATTS 500 message 300fl arrival. After approximate elapsed time interval 2te F 107k, Station Interface 501a receives message 300fl, which completes ATTS 500 forward direction communications. [000111] Station Interface 501a determines from its ATTS 500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501a reverses ATTS500 direction and Station Interface 501a receives messages 300f2 and 300e2.
  • message 300e2 is from Station Interface 501a' s predecessor (Station Interface 50Ie), so Station Interface 501a transmits message 300a2, Station Interface 501a sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501a awaits the next ATTS 500 message 300b2 arrival. After approximate elapsed time interval 2t AB 107a, Station Interface 501a receives message 300b2.
  • message 300b2 source Station Interface 501b is not Station Interface 501a' s predecessor (Station Interface 50Ie), so Station Interface 501a does not transmit, Station Interface 501a sets a message-arrival-timer to approximately 2t ⁇ c 107h, and Station Interface 501a awaits the next ATTS 5 0 0 message 300c2 arrival. After approximate elapsed time interval 2tsc 107h, Station Interface 501a receives message 300c2.
  • message 300c2 source Station Interface 501c is not Station Interface 501a' s predecessor (Station Interface 50Ie), so Station Interface 501a does not transmit, Station Interface 501a sets a message-
  • FIG. 5F illustrates IDM message Cycle 1 407k ATTS 5 00 as detected and processed by Station Interface 501e and may be described as follows.
  • Station Interface 501e At IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407k, Station Interface 501e is not the first ATTS 500 Station Interface 501d, so Station Interface 501e samples transmission media 600a signals awaiting ATTS 500 message 300dl arrival. After approximate elapsed time interval toe 1071 + tee 107m + tee 107o, Station Interface 501e receives messages 300dl, 300cl, and 300bl.
  • Station Interface 501b is not Station Interface SOle's predecessor (Station Interface 501a), so Station Interface 501e does not transmit, Station Interface 501e sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501e awaits the next ATTS500 message 300al arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501e receives message 300al.
  • message 300al is from Station Interface 501e's ATTS 50O predecessor (Station Interface 501a), so Station Interface 501e transmits message 300el, Station Interface 501e sets a message-arrival-timer to approximately 2t ⁇ F 107k, and Station Interface 501e awaits the next ATTS 500 message 300fl arrival. After approximate elapsed time interval 2t EF 107k, Station Interface 501e receives message 300fl, which completes ATTS 500 forward direction communications. [000113] Station Interface 501e determines from its ATTS 500 copy that Station Interface 501f is the last ATTS 500 ordered set member. Station Interface 501e reverses ATTS 500 direction and Station Interface 501e receives messages 300f2.
  • message 300f2 is from Station Interface 501e's predecessor (Station Interface 50If), so Station Interface 501e transmits message 300e2, Station Interface 501e sets a message-arrival-timer to approximately 2tAB 107a + 2t ⁇ E 107j, and Station Interface 501e awaits the next ATTS 500 message 300a2 arrival. After approximate elapsed time interval 2t AB 107a + 2t B E 107j, Station Interface 501e receives messages 300a2 and 300b2.
  • message 300b2 source Station Interface 501b is not Station Interface 501e's predecessor (Station Interface 50If), so Station Interface 501edoes not transmit,
  • Station Interface 501e sets a message-arrival-timer to approximately 2t ⁇ c 107h, and Station Interface 501e awaits the next ATTS 500 message 300c2 arrival. After approximate elapsed time interval 2tsc 107h, Station Interface 501e receives messages message 300c2. In the reverse ATTS 500 direction, message 300c2 source Station Interface 501c is not Station Interface 501e's predecessor (Station Interface 50If), so Station Interface 501e does not transmit, Station Interface 501e sets a message-arrival-timer to approximately 2tc D 107g, and Station Interface 501e awaits the next ATTS 500 message 300d2 arrival.
  • Station Interface 501e After approximate elapsed time interval 2tcD 107g, Station Interface 501e receives messages message 300d2. Since message 300d2 is from the first ATTS 500 defined Station Interface 501d, IDM message Cycle 1 407k and ATTS 500 reverse direction communications are complete. Station Interface 501a reverses ATTS 5 0 0 to forward direction and receives message 300d3 commencing the next IDM message Cycle.
  • FIG. 5G illustrates IDM message Cycle 1 4071 ATTS 500 as detected and processed by Station Interface 501f and may be described as follows.
  • IDM message Cycle commencement such as, but not limited to, IDM message Cycle 1 4071
  • Station Interface 501f samples transmission media 600a signals awaits the next ATTS 500 message 300dl arrival.
  • Station Interface 501f receives messages 300dl, 300cl, and 300bl.
  • Station Interface 501b In the forward ATTS 500 direction message 300bl source Station Interface 501b is not Station Interface 501f s predecessor (Station Interface 50Ie), so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2t AB 107a, and Station Interface 501f awaits the next ATTS 500 message 300al arrival. After elapsed time interval 2. AB 107a, Station Interface 501f receives messages 300al and 300el. In the forward ATTS 500 direction, message 300el is from Station Interface 501f s ATTS 500 predecessor (Station Interface 50Ie), so Station Interface 501f transmits message 300fl, which ATTS 500 forward direction communications.
  • Station Interface 501f determines from its ATTS 500 copy that it is the last ATTS 5 OO ordered set member. Station Interface 501f reverses ATTS 50O direction and Station Interface 501f transmits message 300f2, Station Interface 501f sets a message-arrival-timer to approximately 2tEF 107k, and Station Interface 501f awaits the next ATTS 5 oo message 300e2 arrival. After approximate elapsed time interval 2t EF 107k, Station Interface 501f receives message 300e2. In the reverse ATTS 5O o direction, as the last ATTS 5O o ordered set member,
  • Station Interface 501f does not have a predecessor, so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2t AB 107a + 2t B E 107j, and Station Interface 501c awaits the next ATTS 500 message 300a2 arrival. After elapsed time interval 2t AB 107a + 2t ⁇ E 107j, Station Interface 501f receives messages 300a2 and 300b2. In the reverse ATTS 50O direction Station Interface 501f does not have a predecessor, so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2t ⁇ c 107h, and Station Interface 501c awaits the next ATTS500 message 300c2 arrival.
  • Station Interface 501f After elapsed time interval 2t B c 107h, Station Interface 501f receives message 300c2. In the reverse ATTS 500 direction Station Interface 501f does not have a predecessor, so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2t ⁇ c 107g, and Station Interface 501c awaits the next ATTS500 message 300d2 arrival. After elapsed time interval 2tc D 107g, Station Interface 501c receives message 300d2. Since message 300d2 is from initial ATTS 500 defined Station Interface 501d, IDM message Cycle 1 4071 and ATTS 500 reverse direction communications are complete. Station Interface 50 If reverses ATTS 500 to forward direction and receives message 300d3 commencing the next IDM message Cycle.
  • the station order would preferably mimic the order in which an energy transmission would pass each of the stations.
  • station 101a transmits a message
  • the energy will propagate outward and pass stations 101b, 101c, 101d and lOle, in turn. Therefore, an ATTS having the sequence 101a, 101d, 101b, lOle, 101c would have significantly longer and cumulative propagation times than an ATTS have the sequence 101a, 101b, 101c, 101d, lOle because the station order is not in the order in which the energy would naturally propagate from one station to the other stations.
  • 1177967 31 practice, however, with more complex station positioning, with stations moving, and/or with branching, this simple analogy might not achieve the optimal results.
  • the optimal sequence is not immediately apparent.
  • a sub-optimal ATTS might be used where the stations are not able to process the data as quickly as it might arrive and therefore need the additional propagation delay in order to process one round of data before another round of data arrives.
  • the time required to compute the optimal ATTS might be excessive so a sub-optimal, or approximate, ATTS is preferably used to begin communications and then the ATTS is continually and incrementally adjusted to achieve optimum or near-optimum information transmission.
  • each Station Interface computes the number of clock intervals that have elapsed since the IDM Message Cycle started, and records that time as part of the message header 313. This enables each Station Interface to compute the propagation time to ATTS members, thereby providing information for non-interfering station addition.
  • FIGs. 7A and 7B illustrate propagation times and propagation time equalities used in connection with the descriptions concerning network 500.
  • the accumulated propagation time among the ATTS Station Interfaces measures the amount of network bandwidth that cannot readily be recovered or used. Therefore, rapidly computing the ATTS, configuring transmissions in accordance with the ATTS, and operating branched networks in accordance with the ATTS maximizes network throughput. Using another network propagation organization may have a longer propagation time and, therefore, lower throughput. Configuring and operating customer networks using the ATTS therefore provides the best value for the customer's network capital investment. [000122] However, different ATTS 's may give the same results.
  • ATTS 50 O ⁇ Station Interface 501d, Station Interface 501c, Station Interface 501b, Station Interface 501a, Station Interface 501e, Station Interface 501f> as discussed previously herein.
  • FIG. 8 is an illustration of a larger BSTTS network 800 with a plurality, e.g., twenty-eight, of ATTS 8 oo connected fixed and/or mobile stations 101 (101a, 101b, 101b2, 101c, 101c2, 101d, lOldl, 101d3, lOle, lOlel, 101e2, 101e3, 101e4, 101e6, 101e7, 101e8, lOlfl, 101f2, 101f4, 101f5, 101f6, 101g, lOlgl, 101g3, 101g4, 101h, 101h2, 101h3) and one station 101x requesting to join ATTSgoo-
  • the Station Interfaces 501 associated with the stations 101 actually perform the described computations so that station resources are not consumed.
  • Station Interfaces preferably interact with the station to receive information and status from the station, to transmit information and status to the station, and possibly to receive instructions from the station.
  • searching all possible ATTS combinations to find the minimum propagation path consumes computation resources in proportion to the factorial of the number (n!) of Station Interfaces involved.
  • n! 304,888,344,611,714,000,000,000,000,000
  • Station Interfaces are preferably organized hierarchically into clusters of such a size that the exact minimum path across one cluster can be computed in a short amount of time.
  • the computational capability of the Station Interfaces may limit the maximum size of one cluster to a small number of stations (for example, but not limited to, eleven).
  • the ATTS connects the Station Interfaces with a route or path of MPT.
  • piecing together the paths through each cluster develops an
  • an estimated ATTSgoo is determined within a reasonable time, "reasonable" being consistent with the motion of the mobile stations, the estimate being a good approximation to the ATTSsoo with MPT so as to be BSTTS network operationally useful.
  • the ATTS is used to control the transmissions from Station Interfaces connected to BSTTS networks
  • the Station Interfaces themselves are preferably organized hierarchically in clusters, as shown in FIG. 8.
  • the maximum cluster size is an implementation detail and is dependent upon the computational capabilities of the Station Interface, and therefore some maximum number of stations in a cluster should preferably be established.
  • a maximum cluster size consistent with the computational capability of the Station Interfaces is used to compute the exact ATTS for that cluster which forms part of the BSTTS network.
  • the primary cluster is preferably composed of stations 101a, 101b, 101c 101d, lOle, 101f, 101g, and 101h; chosen merely because these eight stations first joined the operating BSTTS network 800.
  • Stations 101b and 101c host sub- clusters, each with one other station.
  • Station lOld's sub-cluster has three stations 101d, lOldl, 101d3.
  • Station lOle's sub-cluster is full with eight stations lOle, 101el-e4, 101e6-e8.
  • Stations 101f, 101g, and 101h host clusters of six, four and three stations, respectively.
  • FIG. 8 illustrates the result of generating an exact ATTSsoo from a hierarchical cluster set. Optimal and exact paths exist for the primary cluster (FIG. 8 heavy line) and for each sub-cluster.
  • ATTS 101ab ⁇ station 101a, station 101b, station 101b2>.
  • ATTS 1O1C ⁇ station lOlcl, station 101c>
  • ATTS 101 (I ⁇ station lOldl, station 101d, station 101d3>
  • ATTSio le ⁇ station lOlel, station 101e2, station 101e3, station 101e4, station lOle, station 101e6, station 101e7, station 101e8>
  • ATTS 101 f ⁇ station lOlfl, station 101f2, station 101f, station 101f4, station 101f5, station 101f6>
  • ATTS 101g ⁇ station lOlgl, station lOlg, station 101g3, station 101g4>
  • ATTS 1O i h ⁇ station 101h, station 101h2, station 101h3>.
  • one Station Interface on the ATTS will interrupt the IDM Message Cycle long enough to transmit a special pause message (invitation-to-join message) and then wait for one network propagation diameter (which may be an initialization parameter) for new Station Interfaces to respond.
  • this joining delay time has almost no effect on the available bandwidth. Contrast the occasional insertion of this joining delay with implementations disclosed in U.S. Patent 5,434,861 to Pritty et al.; and U.S.
  • the joining process consists of three stages: finding a cluster with space available, computing a new and optimal ATTS through that cluster including the new station, and assembling the new ATTS.
  • the first stage is a simple message exchange with one of the ATTS defined Station Interfaces, followed by a process of observing the existing IDM Message Cycle. This first stage is repeated recursively with almost no visible effect on the existing IDM Message Cycles until a cluster is found with space for the new Station Interface.
  • the Station Interface for the new joining station computes a new, optimal ATTS through that cluster. As a thorough search for the best path through even a small number stations can consume a significant amount of computing time the existing ATTS Station Interfaces are preferably allowed to continue their normal IDM Message Cycles until this computation is complete. When that computation completes, a new cluster configuration is delivered to the members of original cluster.
  • the third stage is actually a normal data cycle wherein the new Station Interface records the current ATTS, and then the new Station Interface merges into the existing ATTS the path through the new cluster to create an updated ATTS reflecting the presence and position of the new Station Interface.
  • the joining Station Interface broadcasts this new ATTS to all Station Interfaces and the next IDM Message Cycle automatically operates with the new ATTS.
  • a new station 101x wishes to join the BSTTS network 800 and therefore observes BSTTS network 800 operations and awaits a pause message.
  • the pause message indicates that it is safe for station 101x to transmit without causing interference with existing message traffic of the operating ATTSsoo network.
  • This opportunity occurs periodically, at a time interval which may be set, but is not limited to being set, administratively for a specific BSTTS network in one embodiment or, in another embodiment, this time interval is adaptively determined for the BSTTS network.
  • this time interval is adaptively determined for the BSTTS network.
  • one of the defined ATTSsoo stations upon receiving authority to transmit, sends a pause message instead of its data message.
  • all stations know that a pause interval will occur following the current IDM Message Cycle and so they stop transmitting, without any significant loss of bandwidth, to send a pause message instead of a data message.
  • the station sending the pause message could be any of the stations and determined by any desired criteria; for example: the last to send, the next to send, forward direction beginning (or ending) station, reverse direction beginning
  • the station sending the pause message is referred to as the Inviting Station.
  • the Inviting Station and all other stations then wait long enough for the pause message to reach the farthest feasible distance to a new station, and to receive an answer back. If there is no answer back, then the IDM Message Cycles continue until it is time for another pause message to be transmitted.
  • the new station 101x When the new station 101x receives the pause message it immediately responds with a request to join network 800. Station 101x then receives from the Inviting Station a message establishing station lOlx's own unique identity on the network 800 and the identity of one station in the primary cluster, herein referred to for convenience as the Parent Station, which may or may not be the same as the Inviting Station. The new station 101x times the round trip time between station 101x and the Inviting Station and records this as the station lOlx propagation time to the Inviting Station. This can be easily done because Station 101x knows when it sent the message, the length of the message it sent, and when it received the reply message. Station 101x then sends to the Parent Station a request to join the primary cluster.
  • the Parent Station sends a list of the cluster members and the propagation times between the cluster members.
  • the new station lOlx times the round trip time between station lOlx and the Parent Station and records this as the station lOlx propagation time to the Parent Station. Again, this can be easily done because Station lOlx knows when it sent the message, the length of the message it sent, and when it received the reply message.
  • the Parent Station then resumes normal ATTSgoo IDM Message Cycles. Either the Inviting Station or the Parent Station also sends the current ATTS to the new station lOlx.
  • the new station lOlx has the current ATTS information so it knows the order in which the various stations are to transmit, and knows the propagation times to the Inviting or Parent Station.
  • the new station lOlx then observes one or more ATTSsoo IDM Message cycles, computing and recording the propagation time to station lOlx from each of the cluster member stations. Based upon this information, station lOlx selects the closest primary station lOle in the example of FIG. 8.
  • the Inviting Station sends a status message to station 101x asking if it is finished and waits for a response from station 101x.
  • station lOlx may take one of several actions, including, but not limited to, the following.
  • the station 101x If the current cluster under consideration is full, the station 101x declares that the closest station in the current cluster is its new Parent Station, sends that closest station a message requesting its cluster members, and awaits the response from that closest station. Upon receiving that response, station 101x begins analysis of the contents of that cluster. As above, if the cluster under consideration is not full, station 101x computes a new, optimal path through that cluster, including its own location, and awaits another status request.
  • the joining station 101x responds to the Inviting Station even if it is busy computing. If any status request message arrives before station 101x computation is finished, station 101x replies with a busy status message.
  • Each of these status request message exchanges occurs between multiples of complete IDM Message cycles with negligible BSTTS network 800 available bandwidth impacts. That is, the stations already in the network do not wait for the new station 101x to complete its calculations but, instead, carry on as if new station 101x does not exist until station 101x has completed its calculations. Thus, only the new station 101x suffers any delay while it is computing propagation delay times and/or the new ATTS.
  • station 101x When station 101x finishes computing the new ATTS through the cluster, it sends that new cluster ATTS to the Parent Station and to the other Station Interfaces in that cluster, and a third stage is entered wherein station 101x integrates the new cluster that includes station lOlx's identity with the existing ATTSgoo- The cluster architecture is therefore maintained because the joining Station Interface distributes the cluster information to each and all of its members as it completes the joining process.
  • ATTS 8 io ⁇ station 101a, station 101b, station 101b2, station lOlcl, station 101c, station lOldl, station 101d, station 101d3, station lOlel, station 101e2, station
  • station 101x broadcasts ATTSsio to all stations. All the stations receive ATTS 81 O and the next IDM Message cycle operates using ATTS 81O instead
  • the joining Station Interface is computing the new ATTS, which new ATTS includes the joining Station Interface
  • the operating BSTTS network Station Interfaces that is, those which are already part of the network, do not devote resources, such as, but not limited to, buffers, computational effort, and bandwidth to this task.
  • resources such as, but not limited to, buffers, computational effort, and bandwidth to this task.
  • the joining Station Interface has the job of measuring distances between Station Interfaces and, as the joining Station Interface is not yet operating as a component of the operating BSTTS network, the joining Station Interface can compute the new ATTS using the computational assets which will eventually be allocated for message management and data storage, thus lowering the cost of the Station Interface while maintaining the speed of the network even as a new Station Interface is joining.
  • FIG. 9 is an exemplary state transition diagram illustrating the various states of a Station Interface and generally shows the various modes or states in which a Station Interface can exist, and identifies the conditions under which the Station Interface will change state. Preferably, these modes or states are executed by all of the Station Interfaces.
  • the state transition diagram of FIG. 9 is an exemplary state transition diagram illustrating the various states of a Station Interface and generally shows the various modes or states in which a Station Interface can exist, and identifies the conditions under which the Station Interface will change state. Preferably, these modes or states are executed by all of the Station Interfaces.
  • 1177967 40 transitions are preferably caused either by the arrival or departure of certain messages or by time elapsing without receiving the expected response.
  • a Station Interface After power up START 901, a Station Interface preferably begins in START_UP_FIND_PAUSE 903 state. The Station Interface then proceeds to either state START_UP_SEND_NEW_STN_MODE 925 as a new station after receiving the Pause message to perform the new station computations, or to state CLEAN_UP_SEND_PAUSE 915 as the original station of a network to host the primary cluster, which may occur, for example, because of a time out condition which indicates there are not any new stations wishing to join. [000153] After either startup sequence, a Station Interface spends the bulk of its time alternating between the central cycles. In the first central cycle, a Station Interface moves from state NORMAL_SEND_DATA_MODE 905 to state
  • NORMAL_WAIT_FOR_PARENT_MODE 911 NORMAL_WAIT_FOR_PARENT_MODE 911, and then to state NORMAL_SEND_DATA_MODE 905.
  • a Station Interface moves from state NORMAL_SEND_DATA_MODE 905 to state NORMAL_WAIT_FOR_LAST_MODE 909 to state
  • the Inviting Station uses the following join process: state NORMAL_SEND_DATA_MODE 905 to state NORMAL_SEND_SECOND_MODE 913 to state CLEAN_UP_SEND_PAUSE_MODE 915 to state CLEAN_UP_WA ⁇ _AFTER_PAUSE_MODE 917 to state CLEAN_UP_SEND CLUSTER 919 to state NORMAL_WAIT_FOR_STATUS_MODE 923 to state NORMAL_SEND_QUERY_MODE 921 to state NORMAL_WAIT_FOR_STATUS_MODE 923 to state NORMAL_SEND_SECOND_MODE 913.
  • the Inviting Station Interface has sent a pause message, allowed a time for a reply, sent the cluster and parent information to the new station, and received the new cluster information and ATTS from the new station.
  • FIG. 9 also illustrates the sequence of states, beginning at state 925, followed by the new station as it computes the new ATTS and broadcasts the new ATTS to all active
  • FIGs. 10-12 are message sequence diagrams that show the details of the message flow and the state changes when two, three and four Station Interfaces, respectively form or join a primary cluster.
  • the messages and their directions are identified in the center of each figure and the corresponding state transitions are annotated down the margins of each figure.
  • FIG. 10 shows the details of the message flow and the state changes when two Station Interfaces 101a and 101b form a primary cluster.
  • Station Interface 101a begins by listening for other transmitting Station Interfaces. However, as a cluster has not yet been formed, Station Interface 101a times out and begins sending pause messages.
  • Station Interface 101b starts in the same way, that is, by listening for other transmitting Station Interfaces. Before Station Interface 101b times out, however, Station Interface 101b receives the pause messages from Station Interface 101a. Station Interface 101b therefore begins the dialog with Station Interface 101a to establish IDM Message Cycle communications and form the primary cluster. This simple case illustrates the starting sequence uncluttered by any other message traffic. Note that Station Interface 101b, as the joining Station Interface, has the job of computing delays. [000159] FIG.
  • Station Interface 101c begins by listening for other transmitting Station Interfaces and detects the traffic from Station Interfaces 101a and 101b. It then, at the appropriate time, joins the operating network. Notice that Station Interface 101c proceeds through the same state transitions, as Station Interface 101b in FIG. 10, and that the original operating BSTTS network, Station Interface 101a and Station Interface 101b, are running the IDM Message Cycles with minor interruption from Station Interface 101c' s dialog with Station Interface 101a.
  • FIG. 12 shows the details of the message flow and the state changes when a fourth Station Interface 101d wishes to join the primary cluster.
  • Station Interface 101d begins by listening for other transmitting
  • Station Interface 101d proceeds through the same state transitions as Station Interface 101b in FIG. 10 and as Station Interface 101c in FIG. 11, and that the original operating BSTTS network, Station Interface 101a, Station Interface 101b and Station Interface 101c, are running IDM Message cycles with minor interruption from Station Interface lOld's dialog with Station Interface 101a. Note that Station Interface 101d, as the joining Station Interface, has the job of computing delays and sending the new ATTS. [000161] A robust and functional network system, especially one involving mobile stations, must allow an active station to be dropped from the network but still leave the network operating normally, and with minimal disruption.
  • Each Station Interface preferably separately maintains and updates its copy of the ATTS by continually operating, in one embodiment, at least one timer with two purposes or, in another embodiment, two or more timers.
  • the value of that timer and the size of the message received are used to compute the accumulated ATTS propagation time since the start of an IDM Message cycle.
  • the Station Interface puts that value into the outgoing message header. The timer is, or the timers are, then reset and begin measuring time again.
  • a Station Interface may be required to be reset, manually and/or automatically, before it can initiate a rejoining cycle and/or before it will be allowed to rejoin. This reduces adverse effects on the network caused by an erratic device if the problem can be resolved by resetting, e.g., restarting, the device.
  • the cluster architecture preferably is repaired after the loss of a station.
  • All Station Interfaces including those that are preparing to join the operating network, monitor operating network traffic and each Station Interface is immediately aware of the loss of any and all stations that drop out of the operating network.
  • the remaining Station Interfaces in a cluster can determine whether one and/or more of their members are missing, and need do nothing when none of their members is missing.
  • a Station Interface which can communicate with another member of that cluster performs the actions.
  • BSTTS Station Interfaces therefore self-organize and self-manage the ATTS, and can accurately set their message-arrival-timers.
  • the message-arrival-timers permit BSTTS networks to operate more bandwidth efficiently than conventional networks when, for example, a BSTTS Station Interface drops from the BSTTS networks.
  • operating with the self-organizing and self-managing ATTS provides inherent health monitoring of the BSTTS networks without the need for the expenditure of additional network resources.
  • An operating cluster preferably continually monitors the message traffic with the goal of improving the optimality of the ATTS. This provides for the continued, efficient operation of a network, especially one which contains mobile stations.
  • each Station Interface calculates its propagation time to its neighbors, and therefore can easily determine the propagation time to all their neighbors. From these data, it is therefore readily possible to perform a local optimization that will re-order this small group of stations.
  • each Station Interface performs these calculations on a continuous basis, or at least at regular intervals. Whenever such an optimized re-ordering is then automatically determined, a new, re-ordered ATTS is distributed to all Station Interfaces when one of the Station Interfaces has the authority to transmit. In one embodiment, this is done when the Station Interface does not have any payload data to send. These calculations could also be done by a station rather than a Station Interface.
  • this active self-assessment process continually adapts the approximate ATTS to counter the effects of station mobility on the efficiency of bandwidth utilization. In one embodiment, this is performed thousands of times per second, but still has little or no cost in bandwidth during normal IDM Message Cycles.
  • an approximate ATTS is constructed and maintained in real-time and the logic that computes the approximate TSP solution is implemented in two parts: the logic for a Station Interface to join the network and create a new approximate ATTS, and the logic for each Station Interface to contribute to the maintenance of the existing ATTS.
  • a hierarchical clustering technique is used in one embodiment and can achieve, within 20%, the optimal TSP solution for over 10,000 stations while consuming minimal computation and memory resources. This provides for practical implementation based upon available standard hardware Station Interface implementations. This also results in no computational load placed on the Stations or Station Interfaces already communicating over the established network, provides minimum operating network interference, and provides for minimum communications bandwidth consumption.
  • BSTTS networks are self-organizing, Self-Managed, and do not require a network administrator in that they can respond to, and recover from, conditions that cause one or more Station Interfaces to lose contact with other Station Interfaces. In one embodiment, all Station Interfaces are compatible in behavior.
  • the Station Interfaces are arranged hierarchically in clusters. As with all hierarchies, there is a root cluster from which the other clusters extend. This root cluster is referred to as the Primary Cluster, which may be of any convenient size that is compatible with current hardware Station Interface computational capabilities. Membership in this Primary Cluster is accomplished merely by being among the first Station Interfaces to join the network. In one embodiment, significant
  • 1177967 46 separation from other Station Interfaces may be required and, otherwise, membership in the Primary Cluster is denied by membership in a non-Primary Cluster is provided.
  • This hierarchy is completely Self-Managed. For example, in one embodiment, if one of the Primary Cluster Station Interfaces drops from the network, the next Station Interface to join is added to the Primary Cluster or a Station Interface in a non-Primary Cluster may become a member of the Primary Cluster.
  • any station joining the BSTTS network finds its location in the hierarchy by first communicating with one of the Primary Cluster Station Interfaces. That Station Interface provides the joining Station Interface with the identity of its cluster members and a table of its distances and/or time from the other members. The logic in the joining Station Interface then computes its distance from each Primary Cluster Station Interface and chooses the closest. As this chosen Station Interface may itself be the host of another cluster, the joining Station Interface sends a message asking to join the cluster of the chosen Station Interface. If space in that cluster is available permission may be granted. If space in that cluster is not available, the process is repeated until a cluster is found which has an available space for the new Station Interface.
  • the joining Station Interface then adds itself to that cluster and computes the path connecting the Station Interfaces of this cluster, including itself in the cluster.
  • the joining Station Interface in order to form the new ATTS, determines the proper place to splice into the cluster, deletes all the old nodes in this cluster from the current ATTS, then inserts the new cluster into the ATTS, and then computes a new ATTS.
  • This new ATTS is distributed to all the Station Interfaces, and communications including the joining station resume at the beginning of the next IDM Message Cycle.
  • the non-interfering measurement of propagation times between stations supports the logic for a joining station to connect the network with minimal interference with existing message traffic, and supports the continual process of maintaining optimal performance regardless of whether stations are moving as the TSP solution, according to one embodiment, is an approximation, and the Station Interfaces continually evaluate and improve the ATTS path length.
  • each Station Interface computes the propagation delay to ATTS members by timing the round-trip propagation time.
  • the first ATTS station inserts into its message header a
  • each station includes in its header message the cumulative propagation time since that DDM Message Cycle.
  • the propagation time from the joining station to any given station of a cluster can then be determined.
  • the joining Station Interface measures the round-trip propagation time to the Inviting Station Interface.
  • a message received from any station contains the accumulated propagation time from the beginning of the IDM Message Cycle.
  • the propagation time from the joining station to the source of that message is computed as the accumulated propagation time minus its propagation time from the Inviting Station Interface as measured above.
  • the results of the clustering algorithm may not necessarily be globally optimal due to the assembly of the paths connecting cluster local paths.
  • An ATTS may be produced with long reaches between cluster ends.
  • One embodiment improves the ATTS dynamically by removing "X" patterns.
  • each station for example station 101c, examines the propagation times to its two previous ATTS neighbors on the ATTS, station 101a and station 101b. If station lOlc's propagation time to station 101a is less than its propagation time to station 101b, then an "X" pattern connection has accidentally formed.
  • Station 101c recommends that station 101a and station 101b be exchanged within the ATTS. This recommendation is propagated to all stations to maintain integrity of the ATTS copies.
  • FIGs. 13A and 13B are block diagrams illustrating the functional elements of an exemplary Station Interface 501.
  • the Station Interface 501 is shown and described as a receive-functionality element 1300 and a transmit-functionality element 1350.
  • FIG. 13A is a block diagram illustrating the receive-functionality element 1300 of an exemplary Station Interface 501.
  • Station Interface 501 receives messages 300 (300a8, 300b7, 300nl, 300a9, 300n2, 300c3, 300d4, 300e3, 300f3, and 30OgI) from one or more of the same or different transmission media 600m, 60On and 60Oo through one or more receive processing logic units ("Receive From Transmission Media") 1304a, 1304b, and 1304n.
  • Receive processing logic units 1304a, 1304b, and 1304n send the messages 300, via one or more of the same or different transmission media 600k4, 600k9, and 600kl4, to one or more message buffers 1302a, 1302b, and 1302n units.
  • Message buffers 1302a, 1302b, and 1302n temporarily store the messages 300 and forward the messages 300 via one or more of the same or different transmission media 600k2, 600k7, and 600kl2 to one or more transmit processing logic units ("Send To Station Transmission Media") 1301a, 1301b, and 1301n.
  • the transmit processing logic units 1301a, 1301b, and 1301n units deliver the messages 300 to one or more stations of arbitrary complexity 101a, 101b, and 101n, via one or more of the same or different transmission media 60Og, 60Oh, 60Oi, 60Oj, 60Op, 60Oq, 60Or, 600s, and 60Ou.
  • Control of the Station Interface 1300 is implemented with one, two, or a plurality of BSTTS Message Control and Timer units 1303a, 1303b, and 1303n transmitting and receiving control signals and transmitting and receiving control information via one or more serial and/or parallel, same or different, transmission media 600kl, 600k3, 600k5, 600k6, 600k8, 60OkIO, 60OkIl, 600kl3, and 600kl5.
  • Station Interface 501 is shown as having a receive-functionality element 1300 which has a plurality of transmit processing logic units 1301, message buffers 1302, Message Control and Timers 1303, and receive processing logic units 1304, and as being connected to a plurality of Stations 101, this is not a requirement and a Station Interface 501 may be dedicated to a single station 101 and only
  • FIG. 13B is a block diagram illustrating the transmit-functionality element 1350 of an exemplary embodiment Station Interface 501.
  • Station Interface 501 receives, from one or more stations 101a, 101b, and 101n, via one or more of the same or different transmission media 60Ov, 60Ow, 60Ox, 60Oy, 60Oz, 600aa, 600ab, 600ac, and 600ad, messages 300 (30OaIO, 30OaIl, 300al2, 300b8, 300b9, 30ObIO, 300n3, 300n4, 300n5, 300n6, 300n7, and 300n8) by the use of one or more receive processing logic units ("Receive From Station Transmission Media") 1351a, 1351b, and 1351n.
  • receive processing logic units ("Receive From Station Transmission Media")
  • Receive processing logic units 1351a, 1351b, and 1351n route messages 300 by way of one or more of the same or different transmission media 600t2, 600t7, and 600tl2 to one or more message buffers 1352a, 1352b, and 1352n.
  • Message buffers 11352a, 1352b, and 1352n temporarily store messages 300 and then forward messages 300 via one or more of the same or different transmission media 600t4, 600t9, and 600tl4 to one or more transmit processing logic units ('Transmit To Transmission Media") 1354a, 1354b, and 1343n.
  • Transmit processing logic units 1354a, 1354b, and 1343n deliver messages 300 to one or more of the same or different transmission media 600ae, 600af, and 600ag.
  • Control of the Station Interface 1350 is implemented with one or more BSTTS Message Control and Timer Units 1353a, 1353b, and 1353n, which transmit and receive control signals and transmitting and receiving control information via one or more of serial and/or parallel, same or different, transmission media 600tl, 600t3, 600t5, 600t6, 600t8, 60OtIO, 60OtIl, 600tl3, and 600tl5.
  • the Station Interface 501 is shown as having a transmit-functionality element 1350 which has a plurality of receive processing logic units 1351, message buffers 1352, Message Control and Timers 1353, and transmit processing logic units 1354, and as being connected to a plurality of Stations 101, this is not a requirement and a Station Interface 501 may be dedicated to a single station 101 and only have a single transmit-functionality element 1350, a single receive processing logic unit 1351, a single message buffer 1352, a single Message Control and Timer unit 1353, and a single transmit processing logic unit 1354. [000185] It will be appreciated that many of the components shown therein may be shared. For example, units 1301 and 1351 may be part of a single interface with a Station 101. Likewise, units 1304 and 1354 may be part of a single interface with a communications media 600. In addition, the control and timer units 1303 and 1353 may be a single unit which
  • 1177967 50 controls both transmit and receive operations.
  • buffers 1302 and 1352 may be part of the same memory unit, or even part of the control and timer unit 1303, 1353.
  • a single unit 1301a may be used, for example, to demultiplex slower signals to two or more stations 101a, 101b ... and lOln from a Station Interface 1300.
  • a single unit 1351a unit may multiplex signals from two or more stations 101a, 101b ... and lOln to a Station Interface 1350.
  • any and all of the Station Interfaces can gather network statistics and create an event log documenting network performance.
  • a network may have dedicated Station Interfaces that gather network statistics and create an event log documenting the performance of the network.
  • another system monitors the communications on the network and records the associated performance, for example for performing and gathering on-line test results, diagnostic information, and prognostic information.
  • the reverse ATTS may be a separate list, or may be the same list but executed in the opposite direction.
  • a station may switch from using a forward ATTS to a reverse ATTS at any point which is convenient and which does not introduce error or uncertainty. For example, when a station is implementing the forward ATTS the station may switch to implementing the reverse ATTS once the last station listed in the forward ATTS has transmitted, may switch to implementing the reverse ATTS once its successor or one or more other subsequent stations in the forward ATTS has or have transmitted, may switch to implementing the reverse ATTS once it detects one or more other stations transmitting in the order specified in the reverse ATTS, may switch to implementing the reverse ATTS once it has transmitted, especially if it is at an endpoint (the first or last station) on the ATTS, etc.
  • a station monitors the transmissions of other stations and will transmit a message when it has received a message from its immediate predecessor station, giving due consideration to whether the forward ATTS or the reverse ATTS is in effect. Also, giving due consideration to whether the forward ATTS or the reverse ATTS is in effect, a
  • 1177967 51 station will transmit a message when it has detected the failure to timely receive a message from its immediate predecessor station.
  • a station knows the order of transmission from the ATTS or the reverse ATTS, and has either determined or been provided the propagation time with respect to each other station, or at least some of the other stations, preferably at least two or three predecessor stations as listed in the ATTS or the reverse ATTS as appropriate, a station will know, once a message has been received from one predecessor station, how long the delay should be before a message from a next predecessor station (next in the ATTS) is received.
  • station E will know when it should begin receiving a message from station B and, once station E has received the message from station B, station E will know when it should begin receiving a message from station C and, once station E has received the message from station C, station E will know when it should begin receiving a message from station D. Therefore, if station E does not begin receiving a message from station D by that time, or shortly thereafter, for example, a nominal delay time so as to compensate for processing time, movement of the stations, etc., then station E will determine that station D has dropped out, and station E will begin transmitting. The other stations will also act accordingly, based upon their own propagation delay time calculations and nominal times.
  • station E receives a message from station B, but does not receive a message from station C
  • station E will determine that station C has dropped out.
  • Station E will expect to receive a message from its predecessor, station D, within two nominal delay times, one nominal delay time for station D to determine that station C has dropped out, and one nominal delay time for the expected transmission from station D. If station E does not receive a message from station D within this time then station E will determine that station D has also dropped out.
  • the other stations will also act accordingly, based upon their own propagation delay time calculations and nominal times.
  • Systems containing one, two or a plurality of common paths supplied by one, two or a plurality of joining paths for example, but not limited to, home networks, industrial process control networks, server access management, storage device and systems management, vehicular traffic management, air traffic management, rail-based traffic management, manufacturing work flow management, logistics flow management, transport vehicle packing, and transport vehicle load control can be implemented using, and benefit from, the teachings herein.
  • BSTTS networks might be linear, and/or branched, and/or moving in 4- dimensional space-time.
  • Station Interfaces can be automatically added to and/or deleted from the BSTTS network.
  • the BSTTS network stations may be as simple as remote sensors supplying information to other users, digital radios carried by vehicles, and/or individuals, and/or stationary, gateways to other networks, and/or stations of arbitrary complexity.
  • BSTTS networks are self organizing and Self-Managed and human interaction is not required to construct and to maintain network optimal performance. Therefore, Self- Managed-Efficient ad hoc networks and Self-Managed-Efficient ad hoc networks of networks are possible and can be dynamically organized and managed.
  • a network may consist of a few Station Interfaces to tens-of-thousands of collocated and/or distributed Station Interfaces.
  • Station Interfaces are self-aware in that each active Station Interface records information such as, but not limited to, the activities of other Station Interfaces and the relative propagation times to Station Interfaces. Because of this self-awareness, the Station Interfaces do not require continual attention from a network administrator because, for example, network status is always available at and known to every Station Interface. [000202] There is little or no need for collision detection, and/or collision management, and/or arbitration because the ATTS used in the BSTTS network prevents transmission media message collisions.
  • BSTTS networks operate seamlessly over a wide range of network diameters and across communications media boundaries.
  • BSTTS networks provide for efficient transmission of a wide range of message sizes and message structures.
  • BSTTS networks permit transmission and message reception acknowledgement to and from to all the BSTTS network Station Interfaces in a single BDM Message Cycle. [000206] BSTTS networks permit: broadcasting to all Station Interfaces, multicast to any subset of the Station Interfaces, and/or one or more point-to-point transmissions between
  • BSTTS network performance with respect to bandwidth, scales essentially linearly with message size and number of users.
  • BSTTS networks significantly increases the throughput available to each user or station connected via Station Interfaces to one, two or a plurality of network media physical layers.
  • the BSTTS methods and devices can be utilized in any number of different network physical and topological configurations.
  • One, two, a plurality, or all Station Interfaces on a composed BSTTS network may transmit within the time span of a network diameter.
  • BSTTS network performance is a priori deterministic and its performance can easily be determined before the network is built.
  • One, two or a plurality of stations of arbitrary complexity can be connected to one, two or a plurality of the same or different transmission media 600 by way of one, two or a plurality of Station Interfaces.
  • Implementation may be, for example, by processing logic that may comprise hardware (such as, but not limited to, dedicated logic circuitry, programmable logic circuitry and firmware), software (such as, but not limited to, instructions run on a general purpose computer system or a dedicated machine), or combinations of all types of processing logic.
  • processing logic may comprise hardware (such as, but not limited to, dedicated logic circuitry, programmable logic circuitry and firmware), software (such as, but not limited to, instructions run on a general purpose computer system or a dedicated machine), or combinations of all types of processing logic.
  • Instructions also known as computer programming instructions, computer programs, software, firmware, or reconfigurable logic circuitry
  • Station Interface instructions may be received via the transmission media 600 connected to Station Interfaces.
  • Station Interface instructions may be received from the Station.
  • Station Interface instructions may be received via a dedicated media connected device of arbitrary complexity connected to Station Interfaces.
  • Stations 101 may be of any arbitrary complexity as represented by, but not limited to: U.S. Patent 6,983,075 to Schwartz, et al., January 2006; U.S. Patent 6,973,513 to Chhabra, et al., December 2005; U.S. Patent 5,742,608 to Randrianaliminana, et al., April 1998; U.S. Published Application US 2005/0243857Al by Hofstaedter, et al., November 2005; U.S. Published Application US2005/019070 IAl by Benjerano, et al., September 2005; U.S.
  • BSTTS messages 300 may be formed by adding to the standard message packet used by many system embodiments and known to one skilled in the art, such as, but not limited to, the fundamental frame layout used historically and commonly in networking, for example, but not limited to FIG. 13 of U.S. Published Application US2002/0101874A1 by Whittaker, et al., August 2002; and U.S. Published Application US2002/0126691A1 by Strong, September 2002; all of which are hereby incorporated herein by reference.
  • Lengthy strings of all 1 or all 0 values may allow the Station Interfaces phase- locked loops detecting data frequency and/or phase to drift. Correcting for this drift can take time and can limit the bandwidth and throughput.
  • Time Division Multiplexing TDM and Time Division Multiple Access
  • FDM Frequency Division Multiplexing
  • FDMA Frequency Division Multiple Access
  • CDMA Code Division Multiplexing
  • OFDM Orthogonal Frequency Division Multiplexing
  • OFDMA Orthogonal Frequency Division Multiple Access
  • Networking standards such as, but not limited to, IEEE 802.3 Ethernet, U.S. Patent 6,751,231 to Fellman, et al., U.S. Patent 6704302 to Einbinder, et al., U.S. Patent 6,633,572 to Olshansky, et al., U.S. Patent to 6,370,115 Smith, U.S. Patent 6,320,870 to Thaler, U.S. Patent 6,029,202 to Frazier et al., U.S. Patent 5,995,549 to Crane, U.S. Patent 5,850,525 to Kalkunte, et al., U.S. Patent 5,838,688 to Kadambi, et al., U.S.
  • Patent 5,568,476 to Sherer, et al., and U.S. Published Patent Application US2004/0223503A1 by Lynch show the shortcomings of Ethernet but fail to deliver adequate performance in the face of the increasing network speed and complexity. Nevertheless, due to the inherent user community
  • Ethernet is one of the most common network protocols.
  • the primary problem with the Ethernet networks is the dependence on Carrier Sense Multiple Access/Collision Detection (CSMA/CD) to establish the right of a station to transmit on a shared medium by detecting and/or avoiding message collisions. It has been shown that this method allows no more than 30% of the available bandwidth on a communications medium to be utilized. In attempts to recover this lost bandwidth, current high-speed networks have abandoned CSMA/CD in favor of point-to- point connections between layers of hubs, routers, and switches. This architecture merely moves the performance problem from that of bandwidth utilization to that of network latency as the accumulation of switch after switch builds up delay between the sender of a message and its recipient.
  • CSMA/CD Carrier Sense Multiple Access/Collision Detection
  • Token rings inefficiently and expensively implement message transmission by passing a token message around a ring of stations.
  • This ring of stations might actually be point-to-point connections between stations that have no ability to reconfigure without major manual rewiring efforts. More frequently, it is implemented in a star configuration where each station is wired to a central hub and jumper wires establish the transmission order. This configuration enables some degree of reconfiguration by manually moving jumper wires. Nevertheless, in either physical configuration, stations are permitted to transmit when the token arrives empty at their input port. If the token is not empty when it arrives, then the message it contains is passed on around the ring until the sending station resets its contents flag.
  • a limitation is that only one station is allowed to transmit within the time span of a network diameter. Deterministic behavior is established by requiring that a unique fixed delay time be established for each node at system initialization. The values of these delays are in whole multiples of the network diameter, thereby permitting only one node the authority to transmit in one network diameter. If a station is not ready to transmit when its time arrives, then the network diameter delay allocated to that station remains unused, thereby wasting the bandwidth and limiting the network throughput. While Pritty discloses allowing stations to leave and later rejoin the network, no unexpected arrivals are permitted, because the total membership is defined at system initialization. A polling master node sends a signal on the bus that offers to each station the opportunity to transmit after its built-in delay. A standby polling master will assume the duties of managing the data flow if the first polling master fails.
  • Pritty describes an elegant and limited solution to a very narrow problem domain, but the solution lacks the flexibility or efficiency to provide well-organized, Self-Managed- Efficient ad hoc networking because each node is going to consume one network diameter of bandwidth, there is no ability to add stations that are not included at system initialization, a second failure of the polling node prevents the system from operating and, even with a small number of stations, a system administrator is required to establish a unique time delay value for each node.
  • a number of master-slave networks have been developed over the years for specific applications, such as, but not limited to, MIL-STD-1553, IEEE 1394 (FireWire), Round Robin, Self-Aware networks, and Fiber Optic Bus Wavelength Division Multiplexing protocol.
  • MIL-STD-1553 uses a master controller to implement a predetermined message schedule by commanding each station on the bus to transmit at the appropriate time. Although slow by today's standards, this protocol does ensure that data are delivered at exactly the right time. It is, however, completely inflexible with respect to addition of stations, is confined to specific transformer-coupled electrical devices, and permits only 31 nodes to be connected to any one bus.
  • IEEE 1394 (FireWire) is a commercial standard implementation that allows highspeed devices to communicate synchronously using clocked frames at a nominal 8 kHz, as discussed in U.S. Patent 7,023,874 to Hauck, et al., U.S. Patent 6,970,481 to Gray III, et al., U.S. Patent 6,947,442 to Saito, et al., U.S. Patent 6,904,044to Duckwall, et al., U.S. Patent 6,771,668 to Fukunaga, et al., U.S. Patent 6,765,923 to LaFoUette, et al., U.S.
  • the devices each of which has a unique identification (ID) code, are organized on the bus in a tree topology. One of the nodes is elected root node and always has the highest ID. The IDs are assigned during the self-id process that happens after each bus-reset. Each device must request from the controller the right to use one of two "isochronous" channels (where transmission is permitted every frame) or to make asynchronous use of the remaining bandwidth in each data frame.
  • the isochronous channels cannot guarantee delivery of the data, the maximum message size is a function of the cable speed, and any data exchange has
  • IEEE 1394 is an excellent mechanism for connecting high-speed peripherals to a central processor, it does not meet the requirements of ad hoc networking. It is confined to specific electrical connections, permits a limited number of devices, and has limits on the range between any pair of devices and the message size.
  • Self-aware networks such as, but not limited to U.S. Patent 5,732,086 to liang et al. attempt to provide message transmission functionality in an ad hoc environment.
  • the system needs one node to be appointed as an "originating node" with the responsibility of determining and maintaining the network topology.
  • the environment in which it operates must permit full duplex transmission links between all nodes.
  • the originating node initially polls all stations, determines by their acknowledgement their topology entry, and initiates normal operation.
  • An "event” might cause that originating node to perform topology repairs by repeating portions of the polling operation.
  • Other nodes on the network remain unaffected if their status in the topology has not changed.
  • Whittaker allows all stations the opportunity to transmit within the space of one network diameter, thereby greatly improving the bandwidth utilization. Referring to the transition of the authority to transmit from one end of the transmission order to the other as one cycle, at the beginning of a cycle, before any data are transmitted, a node designated as the Starting Bus Master (SBM) sends out a Beginning of Sequence (BOS) message that resets all the active nodes on the bus.
  • SBM Starting Bus Master
  • BOS Beginning of Sequence
  • the Ending Bus Master sends out an End of Sequence (EOS) message after its data message.
  • EBM Ending Bus Master
  • EOS End of Sequence
  • Every active node has had the opportunity to send a message. If it had none to send, a node sends a synchronization message to transfer the transmit authority to its successor on the transmission order.
  • Whittaker dynamically computes the transmission order by the SBM, which is enabled by the presence of the EOS message. When the SBM sees the EOS message, instead of starting the next cycle immediately, it pauses for one network diameter to allow a joining station to identify itself. Such a joining station would see the EOS message and immediately transmit a request to join the network.
  • a joining SBM is assigned by the joining station to be the node furthest from that joining station.
  • the assigned SBM measures its distance from all the other nodes including the joining station by pinging each station of interest, receiving a response, and recording the round-trip time accomplish each of these distance measurements.
  • the assigned SBM then forms the new transmission order by sorting the nodes by distance and begins a fresh data cycle.
  • Whittaker discloses an improved approach to providing network capability for ad hoc networks
  • Whittaker also has a number of limitations to providing optimum throughput, such as: in any Master/Slave embodiment, the use of a SBM and an EBM to maintain system operation causes serious concerns for system integrity and reliability in the face of the failure of either master node; by using BOS and EOS messages and pausing every cycle for a network diameter, a significant portion of the bandwidth remains lost; when a new station joins the network, as the number of nodes increases, the amount of time consumed by the process of interrogating all the nodes (twice) becomes prohibitive, thereby preventing the system from guaranteeing timely delivery of data in an ad hoc environment; and the algorithm for determining the transmission order only develops efficient sequences on a linear bus without branches. In a branched networks or free space networks, this algorithm tends to develop exactly the wrong sequence of nodes because it orders their transmission by their distance from the master node.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A self-organized and self-managed ad hoc network operates without the intervention of arbitration, collision detectors, hubs, master controllers, switches, or routers. The network may include both fixed and/or mobile stations. A self-organized and self-managed order of transmission sequence is automatically determined by the stations in the network, and then each station transmits in the order defined by that sequence. Stations can join in, or drop out of, the network at any time with little to no disruption of the network, and the transmission sequence is automatically updated to accommodate a joinder or removal.

Description

SELF-ORGANIZED AND SELF-MANAGED AD HOC COMMUNICATIONS NETWORK
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to, and the benefit of, U.S. Patent Application Serial No. 11/428,594 filed July 5, 2006, entitled "SELF-ORGANIZED AND SELF- MANAGED AD HOC COMMUNICATIONS NETWORK", which is incorporated herein by reference in its entirety.
FIELD OF INVENTION
[0002] The present invention generally relates to networks and, more particularly, to self-organized, self-managed and efficient ad hoc communications networks, which provide for a number of opportunities for each station to transmit over a complete Authority To Transmit Sequence cycle, near-optimization of the network bandwidth using the Authority To Transmit Sequence, and/or adding and dropping stations without disrupting the network. [0003] Portions of the disclosure herein contain material that is subject protected by copyright. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file and/or records, but otherwise reserves all rights in such copyrights. [0004] ATTS™, BSTTS™, IDM™, and IDMA™ are trademarks and/or service marks of AbidaNet LLC.
BACKGROUND OF THE INVENTION
[0005] There is an ever-increasing need to automatically organize and manage ad hoc communications networks and obtain more bandwidth and/or better utilization of existing bandwidth for those networks, and for higher throughput. Even a basic discussion, however, of the numerous types of communications networks and protocols would occupy pages of material. Therefore, in order not to burden the knowledgeable reader with a discussion of the prior art, and in order to allow the reader to focus on the present invention, the prior art communications networks are not discussed in this background. Suffice it to say that the various prior art communications networks suffer from one or more problems, including failure to provide equal opportunity to transmit for all stations, failure to realistically provide for near-optimization of the transmission authority sequence, and failure to provide for adding and dropping stations without disrupting the network. For the interested reader, a detailed description of the operation and deficiencies of known prior art networks is provided in Appendix A, which is attached hereto, all of which is incorporated herein by reference as if fully set forth at this point in this Background.
SUMMARY
[0006] A method of operating a network is described. The network has a plurality of stations, each station being capable of transmitting and receiving. The network is preferably operated by defining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, transmitting a message from the first station, transmitting a message from each of the intermediate stations in their order of listing, transmitting a message from the last station, reversing the order of the ATTS, transmitting another message from the last station, transmitting another message from each of the intermediate stations in their reverse order of listing, transmitting another message from the first station, and then repeating the process beginning with transmitting a message from the first station. A reverse ATTS is preferably used which specifies the order in which the stations may transmit and which order is reverse to that of the ATTS.
[0007] Another method of operating a network is also described. The network has a plurality of stations, each station being capable of transmitting and receiving. The network is preferably operated by obtaining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, defining a reverse ATTS based upon the ATTS, the order in which the stations may transmit being reverse to the order of the ATTS, receiving messages, inspecting each message to determine if it was from a predecessor station in the
ATTS or in the reverse ATTS, and if the message was from a predecessor station then, once that message is complete, transmitting a message.
[0008] In this method an option is to estimate the time at which a message from the predecessor station should be received and, if that estimated time has passed and a message has not been received from the predecessor station, then transmitting a message.
[0009] In this method another option is to estimate the time at which a message from the predecessor station should be received and, if that estimated time has passed and a
1177967 message has not been received from the predecessor station, then removing that predecessor station from the ATTS and the reverse ATTS.
[00010] In this method still another option is to estimate the time at which a message from the predecessor station should be received and, if that estimated time has passed and a message has not been received from the predecessor station, then transmitting a message and removing that predecessor station from the ATTS and the reverse ATTS.
[00011] Another method of operating a network is also described. The network has a plurality of stations, each station being capable of transmitting and receiving. The network is preferably operated by obtaining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, at a predetermined time, sending a pause message to invite a new station to join the network, if a reply message is received then sending a station identity and the ATTS to the new station, receiving a revised ATTS from the new station, the revised ATTS listing the new station, and transmitting a message in accordance with the revised ATTS .
[00012] In this method an option is to inspect each message to determine if it was from a predecessor station in the revised ATTS and, if the message was from a predecessor station, then, once that message is complete, beginning transmission of a message.
[00013] A method of operating a station wishing to join a network is also described, the network comprising a plurality of stations, each station being capable of transmitting and receiving. The station is preferably operated by listening on the network for a pause message inviting new stations to join the network, sending a reply to the pause message, receiving an
Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, determining propagation times between the joining station and at least some of the stations listed in the ATTS, determining a position in the ATTS where the joining station should be placed, defining a revised ATTS listing the joining station in that position, receiving a message authorizing the joining station to transmit, transmitting a message, the message including the revised ATTS, and transmitting further messages in accordance with the revised ATTS.
[00014] In this method an option is to determine the position so as to maintain network efficiency.
1177967 [00015] A method of operating a station wishing to join a network is also described, the network comprising a plurality of stations, each station being capable of transmitting and receiving. The station is preferably operated by listening on the network for a pause message inviting new stations to join the network, sending a reply to the pause message, receiving a designation of a Parent Station in a cluster and at least part of an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, the at least part including stations in the cluster, determining propagation times between the joining station and at least some of the stations in that cluster which are listed in the at least part of the ATTS, determining a position in the at least part of the ATTS where the joining station should be placed with respect to the stations in that cluster so as to maintain network efficiency, defining a revised at least part of the ATTS listing the joining station in that position, receiving a message authorizing the joining station to transmit, transmitting a message, the message including the revised at least part of the ATTS, and transmitting further messages in accordance with the at least part of the revised ATTS.
[00016] In this method an option is to receive a local ATTS, the local ATTS being included within the ATTS.
[00017] In this method another option is to determine a plurality of network propagation times, each network propagation time being for a different ordering of transmissions for the at least part of the ATTS and including the joining station, and being based upon propagation times between the joining station and at least some of the stations in that cluster which are listed in the at least part of the ATTS, determine the minimum propagation time of the plurality of network propagation times, and provide the ordering of transmissions which resulted in the minimum propagation time as a revised at least part of the ATTS. [00018] A network has a plurality of stations, each station being capable of transmitting and receiving. Each station preferably has a transmitter to transmit messages, a receiver to receive messages, a controller functionally connected to the transmitter to control the transmitter, functionally connected to the receiver to process messages received by the receiver, and also has a memory to store and retrieve an Authorization To Transmit Sequence (ATTS) which specifies an order in which the stations may transmit, the ATTS listing a first station of the plurality of stations, at least one intermediate station of the plurality of stations, and a last station of the plurality of stations, the controller being responsive to the ATTS and
1177967 to a reverse ATTS, the controller of the first station causes the transmitter of the first station to transmit a first message if the ATTS is in effect, and the controller inspects a received message and causes the transmitter of the first station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS, the controller of each intermediate station inspects a received message and causes the transmitter of the intermediate station to transmit a message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the intermediate station to transmit a message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS, and the controller of the last station inspects a received message and causes the transmitter of the last station to transmit a first message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the last station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS, whereby a sequence of transmission of the stations is for the first station listed in the ATTS to transmit, each intermediate station to transmit in its order of listing in the ATTS, the last station listed in the ATTS to transmit, the last station to transmit again, each intermediate station to transmit in its order of listing in the reverse ATTS, and the first station to transmit again; and whereby the sequence of transmissions is executed at least one more time.
[00019] In this network, one option is for a controller to implement a reverse ATTS by reversing the order in the ATTS.
[00020] In this network, another option is for a controller to also cause the transmitter to transmit a message if the ATTS is in effect and a message was not timely received from an immediately preceding station in the ATTS, or to cause the transmitter to transmit a message if the reverse ATTS is in effect and a message was timely received from an immediately preceding station in the reverse ATTS.
[00021] In this network, another option is for a station to have a station interface, and the controller to be in the station interface. [00022] A station for use with a network having a plurality of stations is also described, each station being capable of transmitting and receiving. A station has a transmitter to transmit messages, a receiver to receive messages, and a controller functionally connected to
1177967 the transmitter to control the transmitter, functionally connected to the receiver to process messages received by the receiver, and having a memory to store and retrieve an Authorization To Transmit Sequence (ATTS) which specifies when the station may transmit with respect to other stations listed in the ATTS, the ATTS listing a plurality of stations, the plurality of stations having a first station, at least one intermediate station, and a last station, the controller being responsive to the ATTS and to a reverse ATTS to cause the transmitter to transmit, the controller inspecting a received message and causing the transmitter to transmit a message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, or causing the transmitter to transmit a message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
[00023] Optionally, a controller may implement a reverse ATTS by reversing the order in the ATTS.
[00024] Also optionally, the controller may also cause the transmitter to transmit a message if the ATTS is in effect and a message was not timely received from an immediately preceding station in the ATTS, or cause the transmitter to transmit a message if the reverse ATTS is in effect and a message was timely received from an immediately preceding station in the reverse ATTS.
[00025] Also optionally, if a station is the first station in the ATTS, the controller of the first station causes the transmitter of the first station to transmit a first message if the ATTS is in effect, and the controller inspects a received message and causes the transmitter of the first station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
[00026] Also optionally, if a station is the last station in the ATTS, the controller of the last station inspects a received message and causes the transmitter of the last station to transmit a first message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the last station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS. [00027] Also optionally, a station may have a station interface, and the controller may be in the station interface. [00028] The present invention provides for networks that is are self-organizing.
1177967 [00029] The present invention provides for networks that is are self -managed.
[00030] The present invention provides for a network in which each device has a number of opportunities, including, but not limited to, an equal number of opportunities, to transmit over a complete Authority To Transmit Sequence cycle. [00031] The present invention provides for a network in which collision detection and avoidance schemes are not required.
[00032] The present invention provides for a network in which stations can join the network or drop out of the network without disruption network operations.
[00033] These different benefits provided by the present invention may be used individually or in combination with one, some or even all of the other benefits.
[00034] Further features and advantages of the invention will be apparent from the
Drawing and the description below.
BRIEF DESCRIPTION OF THE DRAWING [00035] FIG. 1 illustrates a planar cross-section projection of the behavior of a five
Station BSTTS network transmitting in 3-dimensional free space.
[00036] FIG. 2 illustrates the distribution of broadcast energy along a radial transmission cross-section of the planar cross-section projection in FIG. 1.
[00037] FIG. 3 illustrates a typical BSTTS message as it might appear on a transmission media.
[00038] FIG. 4A is a network showing two stations connected via Station Interfaces.
[00039] FTGs. 4B and 4C show network events for ATTS IDM message Cycles as detected and processed at different Station Interfaces.
[00040] FIG. 5A illustrates an exemplary branched network. [00041] FIGs. 5B-5G illustrate the operation of an MPT ATTS as transmitted, received and processed by Station Interfaces and also illustrate the timing of a normal IDM Message
Cycle across the network.
[00042] FIG. 6 illustrates some examples of transmission media.
[00043] FIGs. 7 A and 7B illustrate propagation times and propagation time equalities used in connection with the descriptions concerning the network.
[00044] FIG. 8 is an illustration of a larger BSTTS network with a plurality of connected fixed and/or mobile stations and one station requesting to join.
[00045] FIG. 9 is an exemplary state transition diagram illustrating the various states of a
Station Interface.
1177967 [00046] FIGs. 10-12 illustrate the message sequence diagrams for startup and joinder conditions.
[00047] FIGs. 13A and 13B are block diagrams illustrating the functional elements of an exemplary Station Interface.
DETAILED DESCRIPTION
[00048] Turn now to the several Figures of the Drawing in which reference is made in detail to various embodiments of the present invention. The preferred environment of the present invention is a collection of fixed and/or mobile stations forming one or more transmission networks. Any available and appropriate transmission media, singularly or in combination, without regard to media boundaries, may be used. Some non-limiting examples of transmission media, which may be used, are shown in FIG. 6.
[00049] For convenience of discussion, certain abbreviations are used herein, as shown in Table 1 below.
Figure imgf000010_0001
1177967
Figure imgf000011_0001
TABLE 1 - ABBREVIATIONS
[00050] The BSTTS station interface methods and devices described herein construct, optimize, and self-manage the flow of information between the stations and transmission media, including, but is not limited to, the organization, control, and optimization of the flow of information through communications media. Hereinafter a BSTTS Station Interface is referred to as "Station Interface".
[00051] A BSTTS network consists of one or more stations, including their Station Interfaces, connected in one or more network topologies, and interfaced to any appropriate and available transmission media. Preferably, each active Station Interface holds an identical copy of an ordered set of transmitter identities, the ATTS, which specifies the progression in which Station Interfaces are permitted to transmit. Station transmitters do not transmit at times and/or at frequencies other than those times and those frequencies specified by the ATTS, thereby eliminating collisions and the need for arbitration. [00052] Among other things, the ATTS provides order and prevents collisions when a plurality of Station Interfaces use the same communications technology and might otherwise interfere with each other's communications. Different ATTS may exist for different media. For example, there may be one ATTS for wired communications, another ATTS for low frequency communications, another ATTS for high frequency communications, still another
1177967 ATTS for acoustic communications, etc. Further, a Station Interface may operate under more than one ATTS. For example, the Station Interface may use one ATTS for performing low frequency communications, another ATTS for performing high frequency communications, and still another ATTS for performing acoustic communications. [00053] A beginning station on the ATTS, which is not necessarily the first station of the ATTS ordered set, initiates a message transmission cycle by sending its data message. The remaining stations then transmit their messages in the order specified by the ATTS. Preferably, the beginning Station Interface of the ATTS awaits the arrival of the data from the last Station Interface defined by the ATTS. When its turn to transmit arrives the last station could, for example, send its message and, when that message reached the beginning station, the process would begin again starting with the first station. In the preferred embodiment, however, rather than wasting the bandwidth waiting for that message to travel from the last station back to the beginning station, a second, reverse ATTS message set is initiated. Thus, after transmitting its message, which can include a payload, for the forward ATTS sequence, the last Station Interface immediately reverses the ATTS and sends a second message, which can also carry a payload. When the authority to transmit, as specified by the reverse ATTS, reaches the beginning station, the transmit ATTS is again reversed. One of these transmission sequences in which each station has two opportunities to transmit is considered to be an "IDM Message Cycle." If a Station Interface does not have a data packet ready to send when it is that Station Interface's turn to transmit, then that Station Interface transmits a status message instead of payload data. This maintains the ATTS integrity and also allows that Station Interface to report its current statistics and/or to indicate its continued presence on the network. [00054] During normal operation, data traffic is maintained entirely by the flow of data or status information between Station Interfaces in the ATTS prescribed order, without the need for Master controllers and/or timing reference signals and/or frequency reference signals. No special control Station Interface, and/or arbitration Station Interface, and/or Master Station Interface is required. When a Station Interface receives a message it checks for the origin of the message. If the message came from the Station Interface which is its immediate predecessor on the ATTS, then it is that Station Interface's turn to transmit as soon as the incoming message has been competed.
[00055] The methods and devices disclosed herein can be used on a variety of different networks, composed of the same and/or different transmission media, and are preferably, but
1177967 10 not necessarily, implemented using free space transmission. However, omnidirectional and segmented branched networks are possible and contemplated. For example, but not limited to, with an omnidirectional network the messages from each Station Interface are routed in all directions over the network so that each message can be received, where permitted, at every Station Interface. The speed with which each Station Interface receives a message is limited only by the respective propagation delay through the transmission media from the transmitting Station Interface. As mentioned herein, the order in which Station Interfaces have the authority to transmit preferably progresses in one direction at a time along the ATTS, connecting all active Station Interfaces forming that segment of the network. The directions or order in which the ATTS progresses between the Station Interfaces should not be confused with the directional nature in which the messages travel in the communications media and which are limited by physical constraints of the network connections and the network environment. [00056] FIG. 1 illustrates a snapshot planar cross-section of an exemplary BSTTS network 100 embodiment among stations broadcasting in 3-dimensional free space. Initial studies have shown that embodiments of the present invention can use much, possibly up to 99%, of the theoretical bandwidth available to network users, with latencies being a small fraction of those inherent in even the most expensive switched networks. [00057] Only five mobile stations 101 (101a, 101b, 101c, 101d and lOle) are shown for simplicity. Many additional fixed and/or mobile workstations are easily connected to network 100 without loss of generality or functionality. The environment is not limited to the omnidirectional transmission pattern presented by FIG. 1 nor to equal directional energy transmission patterns. [00058] For the free space network 100 it is possible to compute all the possible transmission sequences combinations (5! = 120) in order to determine the MPT ATTS, which is given by MPT100 = tAβ + tβc + tcD + tDE + tED + toe + tee + tBA- For network 100 the ATTS IDM Message Cycle is MPTioo-
[00059] The five stations 101 are shown in the process of executing a normal IDM Message cycle. At the time when one, two or all stations 101 process received messages 300, the reception of the messages 300 may be acknowledged by one, two or all stations 101.
[00060] For convenience of explanation, and in order to facilitate understanding, unless otherwise specified, ATTS transmissions are authorized in station alphabetical order:
1177967 11 ATTS1Oo = <station 101a, station 101b, station 101c, station 101d, station 101e>. In an actual environment, the order might be different, such as 101a, 101d, 101b, 101c, and 101e. [00061] Assume now that station 101a has authority, and begins, to transmit message 300al. As soon as message 300al reaches station 101b, station 101b sends message 300bl. As soon as message 300bl reaches station 101c, station 101c sends message 300cl. As soon as message 300cl reaches station 101d, station 101d sends message 300dl. As soon as message 300dl reaches station lOle, station lOle sends message 300el. As station lOle is the ATTS1Oo limit, or end point, station lOle immediately sends message 300e2 back toward station 101d. As soon as message 300e2 reaches station 101d, station 101d sends message 300d2. As soon as message 300d2 reaches station 101c, station 101c sends message 300c2. As soon as message 300c2 reaches station 101b, station 101b sends message 300b2. As soon as message 300b2 reaches station 101a, station 101a is ready to send, and sends, message 300a2. This completes a full cycle as each station has transmitted two messages. As station 101a is the ATTS1Oo limit, station 101a sends message 300a3 immediately following message 300a2.
[00062] For illustrative purposes only, to show the different transmissions, and not indicate any speed, direction, strength, etc., of any message, station 101a is shown as being at the center of messages 300al and 300a2, station 101b is shown as being at the center of messages 300bl and 300b2, etc. [00063] One may look at Fig. 1 as showing that messages 300al-300el and 300e2- 300c2 have now been received by, and propagated beyond, all stations 101, but that message 300b2 has just been transmitted and has not yet reached the closest neighbor station 101a. Thus, a first IDM Message Cycle might be the following: station 101a transmits message 300an; then station 101b transmits message 300bn; then station 101c transmits message 300cn; then station lOln transmits message 300dn; then station lOle transmits message 300en; then station lOle transmits message 300em; then station 101d transmits message 300dm; then station 101c transmits message 300cm; then station 101b transmits message 300bm; then station 101a transmits message 300am; where n is a odd integer (in the example above n is the integer 1) and m = n +1, an even integer (in the example above m is the integer 2). Continuous IDM Message cycles for network 100 repeat ATTSioo until one and/or all stations 101 cease to transmit. Note that each station, including the starting and ending stations, has had the opportunity to transmit two times, the same as any other station.
1177967 12 [00064] Examining the network 100 state along any transmission radius, with the station of choice at the center, such as, but not limited to, that shown as cross-section 200, it is observed that the bandwidth (measured in this case on a radius from station 101b) is optimally used, being occupied either by data (one or messages 300) or by the propagation time through free space PTI00 = 107a + 107b + 107c + 107d + 107e + 1071 + 107m + 107n along the ATTS ioo transmission media route from station 101a-to-station 101b-to-station 101c-to-station 101d-to-station lOle and then back from station 101e-to-station 101d-to- station 101c-to-station 101b-to-station 101a. [00065] FIG. 2 illustrates the energy distribution along cross-section 200 with station 101a to the left and the outer edge of message 300al to the right. The total propagation time through free space on radial cross-section 200, or any other radial cross-section, adds up to twice the time of the transmission propagation time along the transmission media route from station 101a-to-station 101b-to-station 101c-to-station 101d-to-station 101e. [00066] Fig. 3 illustrates a typical BSTTS message 300 as it might appear on a transmission media 600. A BSTTS message 300 may be, and is preferably, formed by adding one or more fields to the standard message packet used by many system embodiments and known to one skilled in the art.
[00067] Unlike, for example but not limited to, standard Ethernet where a minimum message length is required for network integrity, a BSTTS network does not require that messages 300 conform to some minimum message length and/or to a fixed message length. Typical of any digital packet network, messages 300 include a header, an information payload, and a trailer. According to the present invention, a station could transmit as long as desired and release the communications media 600 only when it has transmitted everything. In practice, physical and operational constraints may require that the size of the payload of any one message be restricted to some maximum value, and a longer message may be subdivided into shorter messages to meet this maximum message size. [00068] This maximum message size may be determined by the specific environmental criteria, for example, but not limited to: limitations imposed by physical constraints in the Station Interface devices between the station and the transmission media 600; fair access to the transmission media 600 by all stations, bit error rate of the transmission media 600; and Contract Quality of Service.
[00069] In one embodiment, when a Station Interface does not have any data from its associated station to transmit for a payload 319, the Station Interface transmits a message 300
1177967 13 whose payload 319 reports the current statistics and status of the Station Interface, thereby releasing unused bandwidth and making the maximum amount of effective bandwidth available to all transmitting stations in the network. In another embodiment the Station Interface transmits a message 300 whose payload 319 reports the changes to its statistics and status. In yet another embodiment the Station Interface transmits a minimum message 300. [00070] The transmission of a status or minimum message 300 provides certain benefits. For example, but not limited to, this keeps wireless, optical and electrical phase lock loops "locked"; it informs all Station Interfaces that the Station Interface and its station are functioning properly even though the Station Interface does not have a payload 319 to send; it permits the health of each Station Interface and station to be easily determined by all Station Interfaces and stations; it informs the next Station Interface in the ATTS of its authority to transmit; it enables dynamic testing of the transmission media 600 physical layer while it is operating, in contrast to other protocols, which must be taken off-line to test the physical layer; and it eliminates the need for separate mechanisms and/or separate bandwidth limiting messages to determine the health of the operating network.
[00071] A typical BSTTS message 300 preferably consists primarily of augmented standard packet information, such as, but not limited to: a header, a payload, and a trailer. A header may, for example, include the following fields: start-of-leader 301, leader 303, start- of-routing 305, routing 307, start-of-type 309, message type 311, start-of-time-and-status 313, and time-and-status 315. The start-of-leader 301 and leader 303 fields may be considered to be a preamble. A payload may, for example, include the following fields or message-elements: start-of-payload 317, and user-payload 319. A trailer may, for example, include the following fields or message elements: start-of-trailer 321, trailer 323, and end-of- trailer 325. [00072] The preamble permits the Station Interface detecting sensors to synchronize with the frequency and/or phase of a particular message, for example, but not limited to, when clock recovery transmission is employed. The length of the preamble is, for example, but not limited to, a function of the performance of the transmission media and the synchronization mechanism associated with the specific transmission media and can be specified as a system initialization parameter. The start-of-leader 301, in one embodiment, contains zero bits.
[00073] The routing information (message-elements: start-of-routing 305 and routing 307) indicates both the local destination(s) and the ultimate destination(s) of the payload. The
1177967 14 routing information can be thought of as an address, which identifies, but is not limited to, such information as transmitting device addresses, receiving device addresses, device network segments, device network associations, and device frequencies of operation. The start-of-routing 305 in one embodiment contains zero bits. [00074] The Station Interfaces may use message category (message-elements: start-of- type 309 and message type 311) and timing and status information (message-elements: start- of-time-and-status 313 and time-and-status 315) to organize and to maintain the ATTS. The start-of-type 309 and start-of-time-and-status 313 fields in one embodiment of the present invention contains zero bits. [00075] The message timing and status information (components: start-of-time-and- status 313 and time-and-status 315) provides each Station Interface with the capability to acknowledge the receipt of any and/or all specific messages, thereby enabling assured delivery of information to any station, without extra message traffic and within one IDM Message Cycle. This information may also be used to determine the propagation time. [00076] The start-of-payload 317 indicates that the user information content follows. The start-of-payload may be used to control Station Interface execution. The start-of-payload 317 field in one embodiment of the present invention contains zero bits.
[00077] The payload 319 contains the station information for transmission and reception, which may be sized for each individual transmission from zero bits to some implementation- dependent maximum value of bits, and is delivered and received according to the routing information 307.
[00078] The trailer permits each Station Interface, which processes BSTTS message 300 structure, to verify the integrity of the header and payload information. The end-of-trailer 325 field may be used to tune the performance of the transmission media. The start-of-trailer 321 and end-of-trailer 325 fields in one embodiment contains zero bits.
[00079] The minimum message 300, in one embodiment, consists of the preamble 303 and trailer 323. The BSTTS message 300 control elements (start-of preamble 301, routing 305, start-of-type 309, start-of-time-and-start-of-status 313, start-of-payload 317, start-of- trailer 321, and end-of-trailer 325) contain information that may be used by or to direct a Station Interface to perform serial and/or parallel processing of message 300.
[00080] There are numerous instances herein where Station Interfaces transmit or send a message 300 and/or a message 300 propagates throughout the BSTTS network, for example, but not limited to, BSTTS networks: 100, 400, 500, and 800. They are variously referred to
1177967 15 herein as "Sends Messages" or "Transmits Message" or 'Transmitting Message" but, unless otherwise indicated, generally have the same meaning and effect. For example, the phrase "Transmits Message 300" preferably means that a Station Interface transfers message 300 from its internal storage and couples the message 300 onto one, two or a plurality of transmission media 600. Note that, because ATTS defined Station Interfaces generally do not have the authority to transmit until the detection of message end-of-trailer 325, there are neither collisions nor a need to perform arbitration while message 300 is delivered throughout the network. [00081] One benefit provided is that the duty cycle of the Station Interface transmitters will be lower than in conventional networks because the ATTS specifies the times when the transmitter active elements are energized. In particular, transmission may begin once the end- of-trailer 325 from the predecessor station interface has been received, or when a timeout has occurred without a transmission from the predecessor station interface. This in turn indicates that the Station Interface transmitters may have a higher Mean Time Between Failure, resulting in more cost effective user networks.
[00082] Likewise, there are numerous instances herein wherein Station Interfaces receive and process messages 300, which are associated with a start-of-preamble 301. These instances are variously referred to herein as "Receive Message", or "Receive Messages", or "Receives Message", or "Receives Messages, or "Receiving Message" but, unless otherwise indicated, generally have the same meaning and effect. For example, the phrase "Receive Message 300" preferably means that a Station Interface detects a start-of-preamble 301, accepts (inputs) message 300 and performs certain processing, such as, but limited to the following: reading and then resetting its message-arrival-timer; and determining what action to take with respect to the message. [00083] If a Station Interface determines, from received routing element 307, that the payload 319 is addressed to it but the Station Interface does not have the capability to accept the message 300, then Station Interface does not accept the payload 319 and does not acknowledge the receipt of the message 300. This failure to acknowledge receipt indicates, for example, that the sending Station Interface should re-transmit the message 300 during a future EDM Message Cycle. If the message 300 is addressed to the Station Interface, and the Station Interface has the ability to accept the message, then the Station Interface accepts and acknowledges receipt of the message 300. In one preferred embodiment, even if the message
1177967 16 300 is not addressed to it, and/or the Station Interface cannot accept the message, the Station Interface may process the message 300 to measure transmission media 600 quality. [00084] An inability to accept a message may be because, for example, the message buffers in the Station Interface are full and/or the message buffers in the Station are full, or the Station is not in operation at that time.
[00085] Other forms of processing may occur, if desired, when transmitting and/or receiving messages. One benefit provided is that message acknowledgement receipts can be formed, transmitted and received within one IDM Message Cycle, rather than, for example, requiring the use of multiple bandwidth limiting messages requiring multiple transmissions and/or separate signaling paths.
[00086] For convenience of explanation, it is preferable to start with reference to a simple network with stations connected using a simple bus. FIG. 4A illustrates a simple network 400 showing station 101a connected via transmission media 600b to Station Interface 501a and station 101b connected via transmission media 600c to Station Interface 501b. Station Interface 501a is connected to Station Interface 501b via transmission media 60Oe. Station 101a messages transmitted by Station Interface 501a travel simultaneously in both directions: 1) direction 405a along the transmission media 60Od and 2) direction 405b along the transmission medium 60Oe, being detected some propagation time later tAB 107 (Fig. 4A) by the other station 101b Station Interface 501b. Similarly, station 101b messages transmitted by Station Interface 501b travel simultaneously in both directions: 1) direction 405d along transmission media 60Of and 2) direction 405d along the shared transmission medium 60Oe, being detected some propagation time later tAB 107 by the other station 101a Station Interface 501a. This communication may be, for example, half-duplex communication, i.e., two-way communication, one direction at a time via one transmission media 600.
[00087] Parallel duplex and multiplex communications, over two or a plurality of transmission media 600 between two or a plurality of Station Interfaces and a two or a plurality of transmission media 600 connected among a plurality of Station Interfaces, using the same and/or different transmission media 600, may also be efficiently organized, controlled, optimized, and operated using the techniques disclosed herein.
[00088] For this simple example it is easily possible to compute all the possible combinations (2! = 2) of network 400 transmission sequences in order to determine the exact
1177967 17 solution that has the MPT for the network 400: MPT = tAβ + tBA = 2tAB- Thus, for network 400 the IDM Message Cycle MPT is 2tAB-
[00089] In FIGs. 4B-4C, and 5A-5G, vertically crosshatched message-elements represent the times when a message 300 is being transmitted by a Station Interface, horizontally crosshatched message-elements represent the propagation times between messages 300, and non-crosshatched message-elements represent the times when Station Interfaces process messages 300.
[00090] Referring to HGs. 4A-4C, ATTS400 and ATTS401 are, in this example, equivalent, exact, and equal ATTS 's, with MPT that could control IDM Message Cycles 407 (407a, 407b, 407c, 407d, 407e, and 407f). The ordered set notation ATTS40O = <Station Interface 501a, Station Interface 501b> means, in this example, that Station Interfaces 501a and 501b are the network end points, and so each get two transmissions in an IDM message cycle, one transmission as the end receiving point, and one transmission as the transmitting starting point. Station Interface 501a will begin the cycle so, with reference to network 400, forward direction transmissions: the first ATTS400 defined Station Interface 501a transmits message 300al; and, after a propagation time delay of tAB 107, Station Interface 501b processes message 300al, and, because Station Interface 501a is the predecessor of Station Interface 501b, Station Interface 501b transmits message 300bl; thereby completing the first forward direction transmission. "Forward" and "Reverse" refer to the ATTS sequence ordering, not to the physical direction. With reference to network 400, reverse direction transmissions: the last ATTS400 defined Station Interface 501b transmits message 300b2 and begins the first reverse direction transmission. Next, after a propagation time delay of tAB 107, Station Interface 501a processes message 300b2. Next, because Station Interface 501b is the predecessor of Station Interface 501a, Station Interface 501a transmits message 300a2, thereby completing the first reverse direction transmission and IDM Message Cycle 407a.
[00091] In this example, ATTS401 = <Station Interface 501b, Station Interface 501a> so, with reference to network 400, Station Interface 501b will begin the cycle. The forward direction transmissions are then: the first ATTS401 defined Station Interface 501b transmits message 300bl; and, after a propagation time delay of tAB 107, Station Interface 501a processes message 300bl, and because Station Interface 501b is the predecessor of Station Interface 501a, Station Interface 501a transmits message 300al completing the first forward direction transmissions. With reference to network 400, reverse direction transmissions: the last ATTS4Q1 defined Station Interface 501a transmits message 300a2; beginning the first
1177967 18 reverse direction transmissions. Then, after a propagation time delay of tAB 107, Station Interface 501b processes message 300a2, and, because Station Interface 501a is the predecessor of Station Interface 501b, Station Interface 501b transmits message 300b2; thereby completing the first reverse direction transmissions and also completing the IDM Message Cycle 407d.
[00092] FIG. 4B shows network 400 events for ATTS4O0 H)M message Cycles 407a, 407b, and 407c as detected and processed at Station Interface 501a. As defined by ATTS400 Station Interface 501a commences IDM message Cycle 1 407a by transmitting message 300al. Station Interface 501a sets its message-arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2tAB 107a Station Interface 501a receives message 300bl. Next, from its ATTS400 copy, Station Interface 501a knows to wait for and to receive message 300b2 for the reverse direction ATTS transmission and then, because Station Interface 501b is Station Interface 501a predecessor, Station Interface 501a transmits message 300a2 completing IDM message Cycle 1 407a. As Station Interface 501a is the first ATTS40O defined Station Interface, it then transmits message 300a3, thereby commencing IDM message Cycle 2 407b. Station Interface 501a sets its message-arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2tAB 107a, Station Interface 501a receives message 300b3. Then, from its ATTS400 copy, Station Interface 501a knows to wait for and to receive message 300b4 and then, because Station Interface 501b is Station Interface 501a predecessor, Station Interface 501a transmits message 300a4, thereby completing IDM message Cycle 2 407b. As Station Interface 501a is the first ATTS400 defined Station Interface, it immediately transmits message 300a5 starting IDM message Cycle 3 407c. Station Interface 501a sets its message- arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2tAβ 107a Station Interface 501a receives message 300b5. Next, from its ATTS400 copy Station Interface 501a knows to wait for and to receive message 300b6 and then, because Station Interface 501b is Station Interface 501a predecessor, Station Interface 501a transmits message 300a6, thereby completing IDM message Cycle 3 407c. As Station Interface 501a is the first ATTS40O defined Station Interface, it immediately transmits message 300a7, thereby commencing the next IDM message Cycle. Station Interface 501a sets its message-arrival-timer to 2tAB 107a and awaits the arrival message 300b7 from Station Interface 501b.
[00093] Similarly, FIG. 4C shows network 400 events for ATTS4Oo IDM message Cycles 407d, 407e, and 407f as detected and processed by Station Interface 501b. Initially, Station Interface 501b samples transmission media 60Oe for a message 300 indicated by the arrival of
1177967 19 its start-of-header 301. The time interval tAβ 107 Station Interface 501b waits from Station Interface 501a transmission of message 300al for its arrival is illustrated at the start of FIG. 4C. Time interval tAB 107 is the time shift between events at the two Station Interfaces 501a and 501b due to media 60Oe propagation time between them. IDM message Cycle 1 407d commences when Station Interface 501b receives message 300al and then, because Station Interface 501a is Station Interface 501b predecessor, Station Interface 501b transmits message 300bl. As Station Interface 501b is the last ATTS400 defined station, it then transmits message 300b2. Station Interface 501b sets its message-arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2tAB 107a, Station Interface 501b receives message 300a2. Next, from its ATTS400 copy, Station Interface 501b knows to wait for and to receive message 300a3. IDM message Cycle 2 407e begins as Station Interface 501b receives message 300a3 and then, because Station Interface 501a is Station Interface 501b predecessor, Station Interface 501b transmits message 300b3. As the last ATTS400 defined Station Interface, Station Interface 501b then transmits message 300b4. Station Interface 501b sets its message-arrival-timer to 2tAB 107a. At an approximate elapsed time interval 2tAB 107a Station Interface 501b receives message 300a4. Next, from its ATTS400 copy, Station Interface 501b knows to wait for and to receive message 300a5. IDM message Cycle 2 407f begins as Station Interface 501b receives message 300a5 and then, because Station Interface 501a is Station Interface 501b predecessor, Station Interface 501b transmits message 300b5. As the last ATTS400 defined Station Interface, Station Interface 501b then transmits message 300b6. Station Interface 501a sets its message-arrival-timer to 2tAB 107a. At an approximate time 2tAB 107a Station Interface 501b receives message 300a6. This completes IDM message Cycle 3 407f. From its ATTS400 copy, Station Interface 501b knows to wait for and to receive message 300a7. Station Interface 501b commences the next IDM message Cycle by beginning to receive message 300a7.
[00094] Thus, both FIG. 4B and FIG. 4C illustrate normal ATTS controlled IDM Message Cycles 407 (407a, 407b, 407c, 407d, 407e and 407f) operations between Station Interfaces 501a and 501b to deliver information between the stations 101a and station 101b. As can be seen from FIG. 4B and FIG. 4C, Station Interfaces 501a and 501b exchange two messages each in a total elapsed time consisting of the time each of the four messages 300al, 300bl, 300b2 and 300a2 are on the transmission media 60Oe, plus two propagation delays MPT = 2tAB 107a. This is a most efficient manner for network 400 to communicate over a shared transmission media 600.
1177967 20 [00095] Repetitive transmission at the ATTS limits (network end points) ensures equal access for all stations during each IDM Message Cycle. When that Station Interface is at one of the ATTS ordered set limits it implements buffering of at least two messages 300 and sends the buffered messages 300 back-to-back. Thus, there need be no penalty for a station being at an ATTS ordered set limits.
[00096] Subject to transmission media considerations and Station Interface implementation considerations, and except for the obvious physical limitation of the propagation delay among stations, the header, the start-of-payload 317, and the trailer, this implementation enables the bandwidth of the transmission media 600 to be fully utilized by the user payload.
[00097] The present invention is not limited to the simple case of Figs. 4A-4C but also may be applied to, for example, networks that broadcast in free space, networks with larger numbers of stations, networks with one, two and a plurality of branches with larger numbers of stations, networks with one, two or a plurality of interconnecting transmission media 600, and networks composed of mobile and/or fixed stations.
[00098] FIGs. 5A-5G illustrate a larger network 500 and the operation thereof. FIG. 5A illustrates an exemplary branched network 500, which is composed of six stations 101 (101a, 101b, 101c, 101d, lOle and 10If). Stations 101 may be of any arbitrary complexity and may be connected via one or more of the same or different transmission media 600 to their Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f. Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f may be connected to transmission media 600a in functional equivalent implementations. Transmission media 600 and 600a may consist of one or more transmission media. In the exemplary embodiment shown, the six stations 101 are shown connected via transmission media to their respective Station Interfaces 501, which are, in turn, interconnected by physical transmission media segments 600al, 600a2, 600a3, 600a4, 600a5, 600a6, 600a7, and 600a8.
[00099] Multiple different BSTTS messages 300 may be simultaneously propagating along different transmission media 600a segments and transmission media 600. Additionally, messages 300 transmitted by Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f within branched network 500 can potentially travel simultaneously in multiple directions along transmission media 600a. For example, but not limited to, messages 300 transmitted by Station Interface 501d within branched network 500 initially travel simultaneously along transmission media segments 600a4 and 600a5, messages 300 transmitted by Station
1177967 21 Interface 501c within branched network 500 initially travel simultaneously along transmission media segments 600a3 and 600a4, and messages 300 transmitted by Station Interface 501b within branched network 500 initially travel simultaneously along transmission media segments 600a2, 600a3 and 600a6 Station Interface 501a messages 300a transmitted within branched network 500 initially travel simultaneously along transmission media segments 600al and 600a2. Station Interface 501e messages 30Oe transmitted within branched network 500 initially travel simultaneously along transmission media segments 600a6 and 600a7. Station Interface 501f messages 30Of transmitted within branched network 500 initially travel simultaneously along transmission media segments 600a7 and 600a8. [000100] In addition the following energy propagation occurs at Station Interface 501b. Energy propagating along transmission media segment 600a6 to Station Interface 501b is also propagating to Station Interface 501b, to transmission media segment 600a2, and transmission media segment 600a3. Energy propagating along transmission media segment 600a3 to Station Interface 501b is also propagating to Station Interface 501b, to transmission media segment 600a2, and transmission media segment 600a6. Energy propagating along transmission media segment 600a2 to Station Interface 501b is also propagating to Station Interface 501b, to transmission media segment 600a3, and transmission media segment 600a6. [000101] FIGs. 5B-5G illustrate the operation of an MPT ATTS50O as transmitted, received and processed by Station Interfaces 501d, 501c, 501b, 501a, 501e and 501f, respectively, and also illustrate the timing of a normal IDM Message Cycle across the simple branched network 500. This illustrates that the lost bandwidth on the transmission media 600a is due to the accumulated propagation delays 107a 107g, 107h, 107j, and 107k among Station Interfaces 501a, 501b, 501c, 501d, 501e and 501f. Thus, the branched network 500 operates at optimum throughput efficiency, because the ATTS500 operates with MPT.
[000102] The ATTS500 transmitted message sequence associated with FIGs. 5B-5G may be described as follows. In this example, the first ATTS500 ordered set member, Station Interface 501d commences IDM message Cycles 1 407g, 407h, 407i, 407j, 407k, and 4071 by transmitting message 300dl for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 50 If to receive message 300dl. Following propagation time toe 1071, Station Interface 501c receives message 300dl from Station Interface 501d. Then, as the next ATTS500 ordered set member, Station Interface 501c transmits message 300cl for one or all other Station Interfaces 501a, 501b, 501d, 501e, and 501f to receive message 300cl. At time tDc
1177967 22 1071 + tee 107m, Station Interface 501b receives messages 300dl from Station Interface 501d and message 300cl from Station Interface 501c. As the next ATTS500 ordered set member, Station Interface 501b transmits message 300bl, for one or all other Station Interfaces 501a, 501c, 501d, 501e, and 501f to receive message 300bl. At time toe 1071 + tee 107m + tβA 107n, Station Interface 501a receives message 300dl from Station Interface 501d, message 300cl from Station Interface 501c and message 300bl from Station Interface 501b. As the next ATTS500 order set member, Station Interface 501a transmits message 300al, for one or all other Station Interfaces 501b, 501c, 501d, 501e, and 501f to receive message 300al. At time toe 1071 + tee 107m + tBE 107o, Station Interface 501e receives message 300dl from Station Interface 501d, message 300cl from Station Interface 501c and message 300bl from Station Interface 501b, and after propagation delay 2tBA 107a, Station Interface 501e receives message 300al from Station Interface 501a. As the next ATTS500 ordered set member, Station Interface 501e, transmits message 300el, for one or all other Station Interfaces 501a, 501b, 501c, 501d, and 501f to receive message 300el. At time toe 1071 + tee 107m + tBE 107o + tEF 107p, Station Interface 501f receives messages 300dl, 300cl, 300bl, and after propagation delay 2tBA 107a, receives messages 300al and 300el. As the next ATTS500 ordered set member, Station Interface 501f then transmits message 300fl, for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 501f to receive message 300fl. [000103] In this simple and not limiting example, given that Station Interface 501f is the sixth and last ATTS50O defined Station Interface 501f, it immediately reverses the ATTS and transmits message 300f2, for one or all other Station Interfaces 501a, 501b, 501c, 501d, and 501e to receive message 300f2. At a time tpE later, Station Interface 501e receives message 300fl, and as the next ATTS500 ordered set member, transmits message 300e2, for one or all other Station Interfaces 501a, 501b, 501c, 501d, and 501f to receive message 300e2. Following propagation time tεB + tBA 107n, Station Interface 501a receives message 300e2, and as the next ATTS500 ordered set member, transmits message 300a2, for one or all other Station Interfaces 501b, 501c, 501d, 501e, and 501f to receive message 300a2. Following propagation time tAB 107 Station Interface 501b receives message 300a2, and as the next ATTS500 ordered set member, transmits message 300b2, for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 501f to receive message 300b2. Following propagation time tBc, Station Interface 501c receives message 300a2, and as the next ATTS500 ordered set member, transmits message 300c2, for one or all other Station Interfaces 501a, 501b, 501d, 501e, and
1177967 23 501f to receive message 300c2. Following propagation time tcD, Station Interface 501d receives message 300c2, and as the next ATTS500 ordered set member, transmits message 300d2, for one or all other Station Interfaces 501a, 501b, 501c, 501e, and 501f to receive message 300d2. This transmission completes all IDM message Cycle l's 407g, 407h, 407i, 407j, 407k, and 4071. In this example, Station Interface 501d is the initial ATTS500 Station Interface, so it then initiates the next IDM message Cycle by transmitting message 300d3. [000104] FIG. 5B illustrates ATTS500 IDM message Cycle 1 407g as detected and processed by Station Interface 501d and is described as follows. At IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407g, as the first ATTS500 ordered set member, Station Interface 501d transmits message 300dl, Station Interface 501d sets a message-arrival-timer to approximately 2tcD 107g, and Station Interface 501d awaits the next ATTS500 message 300cl arrival. After approximate elapsed time interval 2tcD 107g, Station Interface 501d receives message 300cl. In the forward ATTS500 direction Station Interface 501d, is the first ATTS500 ordered set member and does not have a predecessor, so Station Interface 501d does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2tβc 107h, and Station Interface 501d awaits the next ATTS500 message 300bl arrival. After approximate elapsed time interval 2tβc 107h, Station Interface 501d receives message 300bl. In the forward ATTS500 direction Station Interface 501d does not have a predecessor, so Station Interface 501d does not transmit, Station Interface 501d again sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501d awaits the next ATTS500 message 300al arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501d receives message 300al. In the forward ATTS500 direction Station Interface 501d does not have a predecessor, so Station Interface 501d still does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2tβE 107j, and Station Interface 501d awaits the next ATTS500 message 300el arrival. After approximate elapsed time interval 2tβE 107j, Station Interface 501d receives message 300el. In the forward ATTS500 direction Station Interface 501d does not have a predecessor, so Station Interface 501d does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2tβF 107k, and Station Interface 501d awaits the next ATTS500 message 300fl arrival. After approximate elapsed time interval 2tεF 107k, Station Interface 501d receives message 300fl, which completes ATTS500 forward direction communications.
[000105] Station Interface 501d determines from its ATTS500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501d reverses ATTS500
1177967 24 direction and Station Interface 501d receives messages 300f2 and 300e2. In the reverse ATTS500 direction, message 300e2 source Station Interface 501e is not Station Interface 501d's predecessor (Station Interface 501c is), so Station Interface 501d does not transmit, Station Interface 501d sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501d awaits the next ATTS50O message 300a2 arrival. After approximate elapsed time interval 2tAβ 107a, Station Interface 501d receives messages 300a2, 300b2, and 300c2. In the reverse ATTS500 direction, message 300c2 is from Station Interface 501d predecessor (Station Interface 501c), so Station Interface 501d transmits message 300d2 thereby completing IDM message Cycle 1 407g and completing ATTS500 reverse direction communications. Station Interface 501d is the initial ATTS500 member, so Station Interface 501d reverses ATTS500 to forward direction and Station Interface 501d then transmits message 300d3 commencing the next IDM message Cycle.
[000106] FIG. 5C illustrates ATTS500 H)M message Cycle 1 407h as detected and processed by Station Interface 501c and may be described as follows. At IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407h, Station Interface 501c is not first ATTS500 Station Interface 501d, so Station Interface 501c samples transmission media 600a signals, and awaits the next ATTS5Oo message 300dl arrival. After approximate elapsed time interval tϋc 1071, Station Interface 501c receives message 300dl. In the forward ATTS50O direction, message 300dl is from Station Interface 501c' s ATTS50O predecessor (Station Interface 50Id), so Station Interface 501c transmits message 300cl, Station Interface 501c sets a message-arrival-timer to approximately 2tsc 107h, and Station Interface 501c awaits the next ATTS5oo message 300bl arrival. After approximate elapsed time interval 2tβc 107h, Station Interface 501c receives message 300bl. In the forward ATTS5OO direction message 300bl source Station Interface 501b is not Station Interface 501c' s predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501c awaits the next ATTS5oo message 300al arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501c receives message 300al. In the forward ATTS50O direction message 300al source Station Interface 501a is not Station Interface 501c's predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2tBE 107j, and Station Interface 501c awaits the next ATTS50o message 300el arrival. After approximate elapsed time interval 2tBE 107j, Station Interface 501c receives message 300el. In the forward
1177967 25 ATTS500 direction message 300el source Station Interface 501e is not Station Interface 501c' s predecessor (Station Interface 50Id), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2tβF 107k, and Station Interface 501c awaits the next ATTS500 message 300fl arrival. After approximate elapsed time interval 2tEF 107k, Station Interface 501c receives message 300fl, which completes ATTS500 forward direction communications.
[000107] Station Interface 501c determines from its ATTS500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501c reverses ATTS500 direction and Station Interface 501c receives messages 300f2 and 300e2. In the reverse ATTS500 direction, message 300e2 source Station Interface 501e is not Station Interface 501c' s predecessor (Station Interface 501b), so Station Interface 501c does not transmit, Station Interface 501c sets a message-arrival-timer to approximately 2IAB 107a, and Station Interface 501c awaits the next ATTS50O message 300a2 arrival. After approximate elapsed time interval 2IAB 107a, Station Interface 501c receives messages 300a2 and 300b2. In the reverse ATTS5O0 direction, message 300b2 is from Station Interface 501c predecessor (Station Interface 501b), so Station Interface 501c transmits message 300c2, Station Interface 501c sets a message-arrival-timer to approximately 2tcD 107g, and Station Interface 501c awaits the next ATTS5oo message 300d2 arrival. After approximate elapsed time interval 2tcD 107g, Station Interface 501c receives message 300d2. Since message 300d2 is from initial ATTS50O defined Station Interface 501d, IDM message Cycle 1 407h and ATTS50O reverse direction communications are complete. Station Interface 501c reverses ATTS5oo to forward direction and receives message 300d3 commencing the next IDM message Cycle. [000108] FIG. 5D illustrates IDM message Cycle 1 407i ATTS500 as detected and processed by Station Interface 501b and may be described as follows. At EDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407i, Station Interface 501b is not the first ATTS5oo Station Interface 501d, so Station Interface 501b samples transmission media 600a signals awaiting ATTS500 message 300dl arrival. After approximate time interval tDc 1071 + tcB 107m, Station Interface 501b receives messages 300dl and 300cl. In the forward ATTS5oo direction, message 300cl is from Station Interface 501b's ATTS5OO predecessor (Station Interface 501c), so Station Interface 501b transmits message 300bl, Station Interface 501b sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501b awaits the next ATTS5oo message 300al arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501b receives message 300al. In the
1177967 26 forward ATTS50O direction message 300al source Station Interface 501a is not Station Interface 501b' s predecessor (Station Interface 501c), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2tβE 107j, and Station Interface 501b awaits the next ATTS500 message 300el arrival. After approximate elapsed time interval 2tBE 107j, Station Interface 501b receives message 300el. In the forward ATTS500 direction message 300el source Station Interface 501e is not Station Interface 501b' s predecessor (Station Interface 501c), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2tEF 107k, and Station Interface 501b awaits the next ATTS500 message 300fl arrival. After approximate elapsed time interval 2tEF 107k, Station Interface 501b receives message 300fl, which completes ATTS500 forward direction communications.
[000109] Station Interface 501b determines from its ATTS500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501b reverses ATTS500 direction and Station Interface 501b receives messages 300f2 and 300e2. In the reverse ATTS500 direction, message 300e2 source Station Interface 501e is not Station Interface 501b's predecessor (Station Interface 501a), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501b awaits the next ATTS500 message 300a2 arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501b receives message 300a2. In the reverse ATTS500 direction, message 300a2 is from Station Interface SOlb's predecessor (Station Interface 501a), so Station Interface 501b transmits message 300b2, Station Interface 501b sets a message-arrival-timer to approximately 2tβc 107h, and Station Interface 501b awaits the next ATTS5oo message 300c2 arrival. After approximate elapsed time interval 2tβc 107h, Station Interface 501b receives message 300c2. In the reverse ATTS500 direction, message 300c2 source Station Interface 501c is not Station Interface 501b' s predecessor (Station Interface 501a), so Station Interface 501b does not transmit, Station Interface 501b sets a message-arrival-timer to approximately 2tcD 107g, and Station Interface 501b awaits the next ATTS500 message 300d2 arrival. After approximate elapsed time interval 2tcD 107g, Station Interface 501b receives message 300d2. Since message 300d2 is from the first ATTS500 defined Station Interface 501d, IDM message Cycle 1 407i and ATTS500 reverse direction communications are complete. Station Interface 501b reverses ATTS500 to forward direction and receives message 300d3 commencing the next IDM message Cycle.
1177967 27 [000110] FIG. 5E illustrates E)M message Cycle 1 407j ATTS500 as detected and processed by Station Interface 501a and may be described as follows. At IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407j, Station Interface 501a is not the first ATTS500 Station Interface 501d, so Station Interface 501a samples transmission media 600a signals awaiting ATTS500 message 300dl. After approximate time interval tDc 1071 + tee 107m + tBA 107n, Station Interface 501a receives messages 300dl, 300cl, and 300bl. In the forward ATTS500 direction, message 300bl is from Station Interface 501a's ATTS500 predecessor (Station Interface 501b), so Station Interface 501a transmits message 300al, Station Interface 501a sets a message-arrival-timer to approximately 2tAB 107a + 2tβE 107j, and Station Interface 501a awaits the next ATTS500 message 300el arrival. After approximate elapsed time interval 2tAB 107a + 2tβE 107j, Station Interface 501a receives message 300el. In the forward ATTS500 direction message 300el source Station Interface 501e is not Station Interface 501a's predecessor (Station Interface 501b), so Station Interface 501a does not transmit, Station Interface 501a sets a message-arrival-timer to approximately 2tEF 107k, and Station Interface 501a awaits the next ATTS500 message 300fl arrival. After approximate elapsed time interval 2teF 107k, Station Interface 501a receives message 300fl, which completes ATTS500 forward direction communications. [000111] Station Interface 501a determines from its ATTS500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501a reverses ATTS500 direction and Station Interface 501a receives messages 300f2 and 300e2. In the reverse ATTS500 direction, message 300e2 is from Station Interface 501a' s predecessor (Station Interface 50Ie), so Station Interface 501a transmits message 300a2, Station Interface 501a sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501a awaits the next ATTS500 message 300b2 arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501a receives message 300b2. In the reverse ATTS500 direction, message 300b2 source Station Interface 501b is not Station Interface 501a' s predecessor (Station Interface 50Ie), so Station Interface 501a does not transmit, Station Interface 501a sets a message-arrival-timer to approximately 2tβc 107h, and Station Interface 501a awaits the next ATTS500 message 300c2 arrival. After approximate elapsed time interval 2tsc 107h, Station Interface 501a receives message 300c2. In the reverse ATTS500 direction, message 300c2 source Station Interface 501c is not Station Interface 501a' s predecessor (Station Interface 50Ie), so Station Interface 501a does not transmit, Station Interface 501a sets a message-
1177967 28 arrival-timer to approximately 2tcD 107g, and Station Interface 501a awaits the next ATTS500 message 300d2 arrival. After approximate elapsed time interval 2tcD 107g, Station Interface 501a receives message 300d2. Since message 300d2 is from the first ATTS500 defined Station Interface 501d, IDM message Cycle 1 407j and ATTS500 reverse direction communications are complete. Station Interface 501a reverses ATTS500 to forward direction and receives message 300d3 to commence the next IDM message Cycle. [000112] FIG. 5F illustrates IDM message Cycle 1 407k ATTS500 as detected and processed by Station Interface 501e and may be described as follows. At IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 407k, Station Interface 501e is not the first ATTS500 Station Interface 501d, so Station Interface 501e samples transmission media 600a signals awaiting ATTS500 message 300dl arrival. After approximate elapsed time interval toe 1071 + tee 107m + tee 107o, Station Interface 501e receives messages 300dl, 300cl, and 300bl. In the forward ATTS500 direction message 300bl source Station Interface 501b is not Station Interface SOle's predecessor (Station Interface 501a), so Station Interface 501e does not transmit, Station Interface 501e sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501e awaits the next ATTS500 message 300al arrival. After approximate elapsed time interval 2tAB 107a, Station Interface 501e receives message 300al. In the forward ATTS500 direction, message 300al is from Station Interface 501e's ATTS50O predecessor (Station Interface 501a), so Station Interface 501e transmits message 300el, Station Interface 501e sets a message-arrival-timer to approximately 2tβF 107k, and Station Interface 501e awaits the next ATTS500 message 300fl arrival. After approximate elapsed time interval 2tEF 107k, Station Interface 501e receives message 300fl, which completes ATTS500 forward direction communications. [000113] Station Interface 501e determines from its ATTS500 copy that Station Interface 501f is the last ATTS500 ordered set member. Station Interface 501e reverses ATTS500 direction and Station Interface 501e receives messages 300f2. In the reverse ATTS500 direction, message 300f2 is from Station Interface 501e's predecessor (Station Interface 50If), so Station Interface 501e transmits message 300e2, Station Interface 501e sets a message-arrival-timer to approximately 2tAB 107a + 2tβE 107j, and Station Interface 501e awaits the next ATTS500 message 300a2 arrival. After approximate elapsed time interval 2tAB 107a + 2tBE 107j, Station Interface 501e receives messages 300a2 and 300b2. In the reverse ATTS500 direction, message 300b2 source Station Interface 501b is not Station Interface 501e's predecessor (Station Interface 50If), so Station Interface 501edoes not transmit,
1177967 29 Station Interface 501e sets a message-arrival-timer to approximately 2tβc 107h, and Station Interface 501e awaits the next ATTS500 message 300c2 arrival. After approximate elapsed time interval 2tsc 107h, Station Interface 501e receives messages message 300c2. In the reverse ATTS500 direction, message 300c2 source Station Interface 501c is not Station Interface 501e's predecessor (Station Interface 50If), so Station Interface 501e does not transmit, Station Interface 501e sets a message-arrival-timer to approximately 2tcD 107g, and Station Interface 501e awaits the next ATTS500 message 300d2 arrival. After approximate elapsed time interval 2tcD 107g, Station Interface 501e receives messages message 300d2. Since message 300d2 is from the first ATTS500 defined Station Interface 501d, IDM message Cycle 1 407k and ATTS500 reverse direction communications are complete. Station Interface 501a reverses ATTS500 to forward direction and receives message 300d3 commencing the next IDM message Cycle.
[000114] FIG. 5G illustrates IDM message Cycle 1 4071 ATTS500 as detected and processed by Station Interface 501f and may be described as follows. At IDM message Cycle commencement, such as, but not limited to, IDM message Cycle 1 4071, Station Interface 501f is not the first ATTS500 Station Interface 501d, so Station Interface 501f samples transmission media 600a signals awaits the next ATTS500 message 300dl arrival. After approximate elapsed time interval toe 1071 + tee 107m + tβE 107o + tEF 107p, Station Interface 501f receives messages 300dl, 300cl, and 300bl. In the forward ATTS500 direction message 300bl source Station Interface 501b is not Station Interface 501f s predecessor (Station Interface 50Ie), so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2tAB 107a, and Station Interface 501f awaits the next ATTS500 message 300al arrival. After elapsed time interval 2.AB 107a, Station Interface 501f receives messages 300al and 300el. In the forward ATTS500 direction, message 300el is from Station Interface 501f s ATTS500 predecessor (Station Interface 50Ie), so Station Interface 501f transmits message 300fl, which ATTS500 forward direction communications.
[000115] Station Interface 501f determines from its ATTS500 copy that it is the last ATTS5OO ordered set member. Station Interface 501f reverses ATTS50O direction and Station Interface 501f transmits message 300f2, Station Interface 501f sets a message-arrival-timer to approximately 2tEF 107k, and Station Interface 501f awaits the next ATTS5oo message 300e2 arrival. After approximate elapsed time interval 2tEF 107k, Station Interface 501f receives message 300e2. In the reverse ATTS5Oo direction, as the last ATTS5Oo ordered set member,
1177967 30 Station Interface 501f does not have a predecessor, so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2tAB 107a + 2tBE 107j, and Station Interface 501c awaits the next ATTS500 message 300a2 arrival. After elapsed time interval 2tAB 107a + 2tβE 107j, Station Interface 501f receives messages 300a2 and 300b2. In the reverse ATTS50O direction Station Interface 501f does not have a predecessor, so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2tβc 107h, and Station Interface 501c awaits the next ATTS500 message 300c2 arrival. After elapsed time interval 2tBc 107h, Station Interface 501f receives message 300c2. In the reverse ATTS500 direction Station Interface 501f does not have a predecessor, so Station Interface 501f does not transmit, Station Interface 501f sets a message-arrival-timer to approximately 2tβc 107g, and Station Interface 501c awaits the next ATTS500 message 300d2 arrival. After elapsed time interval 2tcD 107g, Station Interface 501c receives message 300d2. Since message 300d2 is from initial ATTS500 defined Station Interface 501d, IDM message Cycle 1 4071 and ATTS500 reverse direction communications are complete. Station Interface 50 If reverses ATTS500 to forward direction and receives message 300d3 commencing the next IDM message Cycle.
[000116] As the Station Interface transmits only in accordance with the ATTS, elimination of collisions of signals transmitted by non-collocated transmitters has been achieved. Additionally, elimination of collisions obviates the need for arbitration. Also, any existing device that is involved with collision detection and management and/or arbitration will operate more efficiently and at high throughput when connected to a BSTTS network, because these activities are no longer are required to operate and the bandwidth lost from their operation is available for payload transmission by other stations. [000117] Although use of the ATTS eliminates collisions, to achieve maximum efficiency for any collection of stations that establish communication among members of the collection the ATTS should be computed as an ordered set with MPT. In a simple arrangement of stations, the station order would preferably mimic the order in which an energy transmission would pass each of the stations. For example, referring briefly to Fig. 1, it is readily seen that, if station 101a transmits a message, the energy will propagate outward and pass stations 101b, 101c, 101d and lOle, in turn. Therefore, an ATTS having the sequence 101a, 101d, 101b, lOle, 101c would have significantly longer and cumulative propagation times than an ATTS have the sequence 101a, 101b, 101c, 101d, lOle because the station order is not in the order in which the energy would naturally propagate from one station to the other stations. In
1177967 31 practice, however, with more complex station positioning, with stations moving, and/or with branching, this simple analogy might not achieve the optimal results. For example, referring to Fig. 8, the optimal sequence is not immediately apparent. Further, there may be reasons to use a sub-optimal ATTS. For example, a sub-optimal ATTS might be used where the stations are not able to process the data as quickly as it might arrive and therefore need the additional propagation delay in order to process one round of data before another round of data arrives. Another reason is that, as explained herein, the time required to compute the optimal ATTS might be excessive so a sub-optimal, or approximate, ATTS is preferably used to begin communications and then the ATTS is continually and incrementally adjusted to achieve optimum or near-optimum information transmission.
[000118] In the examples above, a complete IDM Message Cycle permitting all active stations to exchange data with all other active stations has taken place in the length of time to transmit the messages, plus only the accumulated physical cost of the accumulated transmission propagation delay along the ATTS. The maximum bandwidth utilization can be achieved if and only if the accumulated transmission propagation delay along the ATTS is minimized. Therefore, the ATTS must be realized within the practical constraints of a real network where stations are continually being added and/or removed and/or are in motion. U.S. Patent 4,935,877 to Koza, incorporated herein by reference, teaches that the number of possible alternative transmission order sequences is equal to the factorial of the number of stations (n!). It will therefore be appreciated that it is time prohibitive for even the fastest computers to attempt to solve this problem for the exact minimum propagation time for even a relatively small number of stations. For example, Koza shows that, for only fourteen stations, there are 87,178,291,200 (14!) possible computations needed to determine the optimum transmission order sequence and, for example, if each of the possible routes could be computed at the rate of one transmission order sequence per microsecond, then it would take approximately twenty-four hours to compute all the possible transmission order sequences to determine the minimum propagation time. In most networks this would be an unacceptable delay in starting up, and the joinder, exiting, or failure of even a single station might require restarting the computation process. This is even less acceptable in a network with mobile stations, where stations are typically joining and leaving at a rapid rate. Therefore, an exact determination of the ATTS with MPT for large number of stations is not a practical solution. One embodiment provides for a compromise between determining the
1177967 32 exact MPT and the computational time required. This provides an ATTS that is a good approximation to MPT for large numbers of mobile and/or fixed stations. [000119] In one embodiment, for any set of stations which establish communication among members of the set, the approximate ATTS with MPT is computed as an estimate of the TSP solution for all of the stations. The transmission path length as the ATTS connects all the stations is therefore minimized, and the maximum possible bandwidth utilization is approached. To facilitate this computation, during the course of a normal IDM cycle, each Station Interface computes the number of clock intervals that have elapsed since the IDM Message Cycle started, and records that time as part of the message header 313. This enables each Station Interface to compute the propagation time to ATTS members, thereby providing information for non-interfering station addition.
[000120] FIGs. 7A and 7B illustrate propagation times and propagation time equalities used in connection with the descriptions concerning network 500. For network 500 all the possible transmission sequence combinations (6! = 720) are computed in order to determine the exact ATTS controlled IDM Message Cycle that has the MPT, which is given by MPT = tDC + tcB + tβA + tAB + tβE + tEF + tFE + tEB + tβA + tAB +tβC + tcD = 2(toc + tcB + 2tAB + tβE + tup)-
[000121] The accumulated propagation time among the ATTS Station Interfaces measures the amount of network bandwidth that cannot readily be recovered or used. Therefore, rapidly computing the ATTS, configuring transmissions in accordance with the ATTS, and operating branched networks in accordance with the ATTS maximizes network throughput. Using another network propagation organization may have a longer propagation time and, therefore, lower throughput. Configuring and operating customer networks using the ATTS therefore provides the best value for the customer's network capital investment. [000122] However, different ATTS 's may give the same results. For example, four different ATTS 's, named: ATTS50O, ATTS501, ATTS502, and ATTS503 could manage network 500 normal IDM Message Cycles 407g, 407h, 407i, 407j, 407k and 4071 and provide the same total propagation time MPT routes. [000123] The first equivalent network 500 ATTS is ATTS50O = <Station Interface 501d, Station Interface 501c, Station Interface 501b, Station Interface 501a, Station Interface 501e, Station Interface 501f> as discussed previously herein.
[000124] The second equivalent network 500 ATTS is ATTS501 = < Station Interface 501d, Station Interface 501c, Station Interface 501a, Station Interface 501b, Station Interface
1177967 33 501e, Station Interface 501fc>. From the previous discussions ATTSsO1 forward direction transmissions and reverse direction transmissions may be determined. [000125] The third equivalent network 500 ATTS is ATTS502 = < Station Interface 501f, Station Interface 501e, Station Interface 501ba, Station Interface 501a, Station Interface 501c, Station Interface 501d>. From the previous discussions ATTS501 forward direction transmissions and reverse direction transmissions may be determined. [000126] The fourth equivalent network 500 ATTS is ATTS503 = < Station Interface 501f, Station Interface 501e, Station Interface 501a, Station Interface 501b, Station Interface 501c, Station Interface 501d>. From the previous discussions ATTSsO1 forward direction transmissions and reverse direction transmissions may be determined.
[000127] FIG. 8 is an illustration of a larger BSTTS network 800 with a plurality, e.g., twenty-eight, of ATTS8oo connected fixed and/or mobile stations 101 (101a, 101b, 101b2, 101c, 101c2, 101d, lOldl, 101d3, lOle, lOlel, 101e2, 101e3, 101e4, 101e6, 101e7, 101e8, lOlfl, 101f2, 101f4, 101f5, 101f6, 101g, lOlgl, 101g3, 101g4, 101h, 101h2, 101h3) and one station 101x requesting to join ATTSgoo- Preferably, the Station Interfaces 501 associated with the stations 101 actually perform the described computations so that station resources are not consumed. Station Interfaces preferably interact with the station to receive information and status from the station, to transmit information and status to the station, and possibly to receive instructions from the station. [000128] In practice, searching all possible ATTS combinations to find the minimum propagation path consumes computation resources in proportion to the factorial of the number (n!) of Station Interfaces involved. For the case of FIG. 8, an exhaustive search of all the possible ATTS combinations requires the calculation and inspection of (28! = 304,888,344,611,714,000,000,000,000,000) combinations to determine the ATTSgoo for network 800. If one ATTSgoo combination is calculated every picosecond it still would take 96,573,625.8 centuries to compute the ATTSgoo with MPT, clearly an unacceptable delay. Therefore, in order to achieve an ATTS with an approximate MPT, Station Interfaces are preferably organized hierarchically into clusters of such a size that the exact minimum path across one cluster can be computed in a short amount of time. The computational capability of the Station Interfaces may limit the maximum size of one cluster to a small number of stations (for example, but not limited to, eleven). For this small number of Station Interfaces, the ATTS connects the Station Interfaces with a route or path of MPT. For any larger number of Station Interfaces, piecing together the paths through each cluster develops an
1177967 34 approximation to the MPT route. The description of a cluster includes the identity of each member, the order of their appearance within the ATTS, and a vector of the distances between each Station Interface in the cluster. [000129] In one embodiment an estimated ATTSgoo is determined within a reasonable time, "reasonable" being consistent with the motion of the mobile stations, the estimate being a good approximation to the ATTSsoo with MPT so as to be BSTTS network operationally useful.
[000130] While the ATTS is used to control the transmissions from Station Interfaces connected to BSTTS networks, the Station Interfaces themselves are preferably organized hierarchically in clusters, as shown in FIG. 8. The maximum cluster size may be, for example, but not limited to, eight, or to some other size which allows for computation in a reasonable time commensurate with the computational speed and abilities of the devices. It is possible to perform an exhaustive search of all possible ATTS combinations (8! = 40,320) and to compute, for the non-limiting maximum cluster size of eight, the exact ATTSsoo- The maximum cluster size, however, is an implementation detail and is dependent upon the computational capabilities of the Station Interface, and therefore some maximum number of stations in a cluster should preferably be established. In one embodiment a maximum cluster size consistent with the computational capability of the Station Interfaces is used to compute the exact ATTS for that cluster which forms part of the BSTTS network. [000131] In the example shown in FIG. 8 the primary cluster is preferably composed of stations 101a, 101b, 101c 101d, lOle, 101f, 101g, and 101h; chosen merely because these eight stations first joined the operating BSTTS network 800. The primary clusters transmit according to the exemplary ATTS8O1 = <station 101a, station 101b, station 101c station 101d, station lOle, station 101f, station 101g, station 101h>. Stations 101b and 101c host sub- clusters, each with one other station. Station lOld's sub-cluster has three stations 101d, lOldl, 101d3. Station lOle's sub-cluster is full with eight stations lOle, 101el-e4, 101e6-e8. Stations 101f, 101g, and 101h host clusters of six, four and three stations, respectively. [000132] FIG. 8 illustrates the result of generating an exact ATTSsoo from a hierarchical cluster set. Optimal and exact paths exist for the primary cluster (FIG. 8 heavy line) and for each sub-cluster. For example, the ATTSgoo is generated starting with the first station (101a in this case) on the primary cluster's ATTS8Oi and traverses that cluster and all sub-clusters to produce the ATTS 101a = <station 101a>. This is then repeated for the second BSTTS network 800 station 101b to produce ATTS10Ib = <station 101b, station 101b2> and then connects
1177967 35 ATTS 101b to produce ATTS101ab = <station 101a, station 101b, station 101b2>. This is then repeated for the remaining local ATTS's: ATTS1O1C = <station lOlcl, station 101c>; ATTS101(I = <station lOldl, station 101d, station 101d3>; ATTSiole = <station lOlel, station 101e2, station 101e3, station 101e4, station lOle, station 101e6, station 101e7, station 101e8>; ATTS101f = <station lOlfl, station 101f2, station 101f, station 101f4, station 101f5, station 101f6>; ATTS 101g = <station lOlgl, station lOlg, station 101g3, station 101g4>; and ATTS 1Oih = <station 101h, station 101h2, station 101h3>.
[000133] Once the local ATTS's are determined, the process is then repeated to connect the local ATTS's together to form the final ATTSgoo = <station 101a, station 101b, station 101b2, station lOlcl, station 101c, station lOldl, station 101d, station 101d3, station lOlel, station 101e2, station 101e3, station 101e4, station lOle, station 101e6, station 101e7, station 101e8, station lOlfl, station 101f2, station 101f, station 101f4, station 101f5, station 101f6, station lOlgl, station 101g, station 101g3, station 101g4, station 101h, station 101h2, station 101h3>. [000134] When a new Station Interface joins an existing BSTTS network conducting DDM Message Cycle transmissions and receptions the responsibility for computing a new ATTS falls upon the Station Interface attempting to join the operating BSTTS network with minimal interference to the existing IDM Message Cycles of the established operating network. Conventional routers consume payload bandwidth, use up large amounts of memory resources, and expend significant computational resources. In one embodiment, at time intervals established at system initialization, and/or adjustable automatically by the Station Interfaces using feed-forward and/or feed-back control loops and/or by the system administrator, one Station Interface on the ATTS will interrupt the IDM Message Cycle long enough to transmit a special pause message (invitation-to-join message) and then wait for one network propagation diameter (which may be an initialization parameter) for new Station Interfaces to respond. Being a relatively rare event, this joining delay time has almost no effect on the available bandwidth. Contrast the occasional insertion of this joining delay with implementations disclosed in U.S. Patent 5,434,861 to Pritty et al.; and U.S. Published Application US2002/0101874A1 to Whittaker et al., where the delay is imposed at the delivery of every message or message cycle. If a new Station Interface responds with a request to join the BSTTS network, the new Station Interface is provided with the identity of one of the primary cluster nodes, and the joining process by the new Station Interface begins. Otherwise the established ATTS continues operation.
1177967 36 [000135] The joining process consists of three stages: finding a cluster with space available, computing a new and optimal ATTS through that cluster including the new station, and assembling the new ATTS.
[000136] The first stage is a simple message exchange with one of the ATTS defined Station Interfaces, followed by a process of observing the existing IDM Message Cycle. This first stage is repeated recursively with almost no visible effect on the existing IDM Message Cycles until a cluster is found with space for the new Station Interface. [000137] Once a cluster is found, in the second stage, the Station Interface for the new joining station computes a new, optimal ATTS through that cluster. As a thorough search for the best path through even a small number stations can consume a significant amount of computing time the existing ATTS Station Interfaces are preferably allowed to continue their normal IDM Message Cycles until this computation is complete. When that computation completes, a new cluster configuration is delivered to the members of original cluster. [000138] The third stage is actually a normal data cycle wherein the new Station Interface records the current ATTS, and then the new Station Interface merges into the existing ATTS the path through the new cluster to create an updated ATTS reflecting the presence and position of the new Station Interface. The joining Station Interface broadcasts this new ATTS to all Station Interfaces and the next IDM Message Cycle automatically operates with the new ATTS. [000139] Still referring to FIG. 8, assume now that a new station 101x wishes to join the BSTTS network 800 and therefore observes BSTTS network 800 operations and awaits a pause message. The pause message indicates that it is safe for station 101x to transmit without causing interference with existing message traffic of the operating ATTSsoo network. This opportunity occurs periodically, at a time interval which may be set, but is not limited to being set, administratively for a specific BSTTS network in one embodiment or, in another embodiment, this time interval is adaptively determined for the BSTTS network. In one embodiment, when the pause interval occurs, one of the defined ATTSsoo stations, upon receiving authority to transmit, sends a pause message instead of its data message. In another embodiment, all stations know that a pause interval will occur following the current IDM Message Cycle and so they stop transmitting, without any significant loss of bandwidth, to send a pause message instead of a data message. The station sending the pause message could be any of the stations and determined by any desired criteria; for example: the last to send, the next to send, forward direction beginning (or ending) station, reverse direction beginning
1177967 37 (or ending) station, etc. For convenience of explanation and illustration, the station sending the pause message is referred to as the Inviting Station. The Inviting Station and all other stations then wait long enough for the pause message to reach the farthest feasible distance to a new station, and to receive an answer back. If there is no answer back, then the IDM Message Cycles continue until it is time for another pause message to be transmitted.
[000140] When the new station 101x receives the pause message it immediately responds with a request to join network 800. Station 101x then receives from the Inviting Station a message establishing station lOlx's own unique identity on the network 800 and the identity of one station in the primary cluster, herein referred to for convenience as the Parent Station, which may or may not be the same as the Inviting Station. The new station 101x times the round trip time between station 101x and the Inviting Station and records this as the station lOlx propagation time to the Inviting Station. This can be easily done because Station 101x knows when it sent the message, the length of the message it sent, and when it received the reply message. Station 101x then sends to the Parent Station a request to join the primary cluster. The Parent Station sends a list of the cluster members and the propagation times between the cluster members. The new station lOlx times the round trip time between station lOlx and the Parent Station and records this as the station lOlx propagation time to the Parent Station. Again, this can be easily done because Station lOlx knows when it sent the message, the length of the message it sent, and when it received the reply message. The Parent Station then resumes normal ATTSgoo IDM Message Cycles. Either the Inviting Station or the Parent Station also sends the current ATTS to the new station lOlx. The new station lOlx has the current ATTS information so it knows the order in which the various stations are to transmit, and knows the propagation times to the Inviting or Parent Station. The new station lOlx then observes one or more ATTSsoo IDM Message cycles, computing and recording the propagation time to station lOlx from each of the cluster member stations. Based upon this information, station lOlx selects the closest primary station lOle in the example of FIG. 8.
[000141] When a Station Interface joins an operating network, that Station Interface determines the best cluster to join based on being closest in propagation delay to that cluster and that cluster not being fully populated. The Station Interface attempting to join the operating ATTS computes the path of MPT for that cluster, and then integrates the computed path into the existing ATTS to determine the new ATTS. When a Station Interface drops from the network, the Station Interfaces respond to its absence by removing it from the ATTS
1177967 38 and continuing to operate. The other members of the dropped Station Interface's cluster also delete the lost Station Interface information from their cluster specification. [000142] After some suitable time interval, which in one embodiment is the next pause interval, the Inviting Station sends a status message to station 101x asking if it is finished and waits for a response from station 101x. In response to this status message request, station lOlx may take one of several actions, including, but not limited to, the following. [000143] If the cluster under consideration is not full, station 101x computes a new, optimal path through that cluster, including its own location, and awaits another status request. [000144] If the current cluster under consideration is full, the station 101x declares that the closest station in the current cluster is its new Parent Station, sends that closest station a message requesting its cluster members, and awaits the response from that closest station. Upon receiving that response, station 101x begins analysis of the contents of that cluster. As above, if the cluster under consideration is not full, station 101x computes a new, optimal path through that cluster, including its own location, and awaits another status request.
[000145] In either case, the joining station 101x responds to the Inviting Station even if it is busy computing. If any status request message arrives before station 101x computation is finished, station 101x replies with a busy status message. Each of these status request message exchanges occurs between multiples of complete IDM Message cycles with negligible BSTTS network 800 available bandwidth impacts. That is, the stations already in the network do not wait for the new station 101x to complete its calculations but, instead, carry on as if new station 101x does not exist until station 101x has completed its calculations. Thus, only the new station 101x suffers any delay while it is computing propagation delay times and/or the new ATTS. [000146] When station 101x finishes computing the new ATTS through the cluster, it sends that new cluster ATTS to the Parent Station and to the other Station Interfaces in that cluster, and a third stage is entered wherein station 101x integrates the new cluster that includes station lOlx's identity with the existing ATTSgoo- The cluster architecture is therefore maintained because the joining Station Interface distributes the cluster information to each and all of its members as it completes the joining process.
[000147] For the example network 800 wherein station 101x joins ATTS8oo, the new ATTS is defined to be: ATTS8io = <station 101a, station 101b, station 101b2, station lOlcl, station 101c, station lOldl, station 101d, station 101d3, station lOlel, station 101e2, station
1177967 39 10Ix, station 101e3, station 101e4, station lOle, station 101e6, station 101e7, station 101e8, station lOlfl, station 101f2, station 101f, station 101f4, station 101f5, station 101f6, station lOlgl, station 101g, station 101g3, station 101g4 station 101h, station 101h2, station 101h3>. [000148] In one embodiment, when the next status query occurs, for example, at the end of the multiple IDM Message cycle, station 101x broadcasts ATTSsio to all stations. All the stations receive ATTS81O and the next IDM Message cycle operates using ATTS81O instead
[000149] Station 101x preferably has performed the following computations: analyzed the primary cluster and determined that station lOle was the closest member, analyzed the cluster hosted by station lOle, found it to be full, and found station 101e2 to be the closest one to station 101x, composed a new cluster hosted by station 101e2 containing station 101e2 and station 101x, ATTS101e2 = <station 101e2, station 101x>, and composed ATTS810. [000150] By placing the measurement and computational burden on the joining Station Interface certain benefits are obtained. While the joining Station Interface is computing the new ATTS, which new ATTS includes the joining Station Interface, the operating BSTTS network Station Interfaces, that is, those which are already part of the network, do not devote resources, such as, but not limited to, buffers, computational effort, and bandwidth to this task. Thus, except the necessary and sufficient initial dialog, there is virtually no interference with the operating BSTTS network's IDM Message Cycles. The joining Station Interface has the job of measuring distances between Station Interfaces and, as the joining Station Interface is not yet operating as a component of the operating BSTTS network, the joining Station Interface can compute the new ATTS using the computational assets which will eventually be allocated for message management and data storage, thus lowering the cost of the Station Interface while maintaining the speed of the network even as a new Station Interface is joining.
[000151] Station Interfaces generally follow the behavior illustrated in FIGs. 9-12. The operation of Station Interfaces is generally illustrated in the state transition diagram of FIG. 9, and the message sequence diagrams of FIGs. 10-12. [000152] FIG. 9 is an exemplary state transition diagram illustrating the various states of a Station Interface and generally shows the various modes or states in which a Station Interface can exist, and identifies the conditions under which the Station Interface will change state. Preferably, these modes or states are executed by all of the Station Interfaces. The state
1177967 40 transitions are preferably caused either by the arrival or departure of certain messages or by time elapsing without receiving the expected response. After power up START 901, a Station Interface preferably begins in START_UP_FIND_PAUSE 903 state. The Station Interface then proceeds to either state START_UP_SEND_NEW_STN_MODE 925 as a new station after receiving the Pause message to perform the new station computations, or to state CLEAN_UP_SEND_PAUSE 915 as the original station of a network to host the primary cluster, which may occur, for example, because of a time out condition which indicates there are not any new stations wishing to join. [000153] After either startup sequence, a Station Interface spends the bulk of its time alternating between the central cycles. In the first central cycle, a Station Interface moves from state NORMAL_SEND_DATA_MODE 905 to state
NORMAL_WArr_FOR_FIRST_MODE 907 to state
NORMAL_WAIT_FOR_PARENT_MODE 911, and then to state NORMAL_SEND_DATA_MODE 905. In the second central cycle, a Station Interface moves from state NORMAL_SEND_DATA_MODE 905 to state NORMAL_WAIT_FOR_LAST_MODE 909 to state
NORMAL_WAIT_FOR_PARENT_MODE 911, and then to state NORMAL_SEND_DATA_MODE 905. [000154] The Station Interfaces that happen to be first and last on the ATTS spend the bulk of their time alternating between the first and second central cycles with the addition of the state NORMAL_SEND_SECOND_MODE 913 as illustrated in FIG 9. [000155] The Inviting Station uses the following join process: state NORMAL_SEND_DATA_MODE 905 to state NORMAL_SEND_SECOND_MODE 913 to state CLEAN_UP_SEND_PAUSE_MODE 915 to state CLEAN_UP_WAΓΓ_AFTER_PAUSE_MODE 917 to state CLEAN_UP_SEND CLUSTER 919 to state NORMAL_WAIT_FOR_STATUS_MODE 923 to state NORMAL_SEND_QUERY_MODE 921 to state NORMAL_WAIT_FOR_STATUS_MODE 923 to state NORMAL_SEND_SECOND_MODE 913. By this process the Inviting Station Interface has sent a pause message, allowed a time for a reply, sent the cluster and parent information to the new station, and received the new cluster information and ATTS from the new station.
[000156] FIG. 9 also illustrates the sequence of states, beginning at state 925, followed by the new station as it computes the new ATTS and broadcasts the new ATTS to all active
1177967 41 Station Interfaces, and then joins the normal cycle at
NORMAL_WAΓΓ_FOR_PARENT_MODE 911.
[000157] FIGs. 10-12 are message sequence diagrams that show the details of the message flow and the state changes when two, three and four Station Interfaces, respectively form or join a primary cluster. In FIGs. 10-12, the messages and their directions are identified in the center of each figure and the corresponding state transitions are annotated down the margins of each figure.
[000158] FIG. 10 shows the details of the message flow and the state changes when two Station Interfaces 101a and 101b form a primary cluster. Station Interface 101a begins by listening for other transmitting Station Interfaces. However, as a cluster has not yet been formed, Station Interface 101a times out and begins sending pause messages. Station Interface 101b starts in the same way, that is, by listening for other transmitting Station Interfaces. Before Station Interface 101b times out, however, Station Interface 101b receives the pause messages from Station Interface 101a. Station Interface 101b therefore begins the dialog with Station Interface 101a to establish IDM Message Cycle communications and form the primary cluster. This simple case illustrates the starting sequence uncluttered by any other message traffic. Note that Station Interface 101b, as the joining Station Interface, has the job of computing delays. [000159] FIG. 11 shows the details of the message flow and the state changes when a third Station Interface 101c wishes to join the primary cluster. In this example it is presumed that Station Interfaces 101a and 101b, and/or some other Station Interfaces, have already formed the primary cluster. Station Interface 101c begins by listening for other transmitting Station Interfaces and detects the traffic from Station Interfaces 101a and 101b. It then, at the appropriate time, joins the operating network. Notice that Station Interface 101c proceeds through the same state transitions, as Station Interface 101b in FIG. 10, and that the original operating BSTTS network, Station Interface 101a and Station Interface 101b, are running the IDM Message Cycles with minor interruption from Station Interface 101c' s dialog with Station Interface 101a. Note that Station Interface 101c, as the joining Station Interface, has the job of computing delays and sending the new ATTS. [000160] FIG. 12 shows the details of the message flow and the state changes when a fourth Station Interface 101d wishes to join the primary cluster. In this example it is presumed that Station Interfaces 101a-c, and/or some other Station Interfaces, have already formed the primary cluster. Station Interface 101d begins by listening for other transmitting
1177967 42 Station Interfaces and detects the traffic from Station Interfaces lOla-c. It then, at the appropriate time, joins the operating network. Station Interface 101d proceeds through the same state transitions as Station Interface 101b in FIG. 10 and as Station Interface 101c in FIG. 11, and that the original operating BSTTS network, Station Interface 101a, Station Interface 101b and Station Interface 101c, are running IDM Message cycles with minor interruption from Station Interface lOld's dialog with Station Interface 101a. Note that Station Interface 101d, as the joining Station Interface, has the job of computing delays and sending the new ATTS. [000161] A robust and functional network system, especially one involving mobile stations, must allow an active station to be dropped from the network but still leave the network operating normally, and with minimal disruption. Removing a station that drops from the network while maintaining the integrity of the network involves two activities: the ATTS is updated or repaired in order to maintain the flow of messages; and the cluster architecture is updated or repaired to facilitate subsequent station joining. [000162] Each Station Interface preferably separately maintains and updates its copy of the ATTS by continually operating, in one embodiment, at least one timer with two purposes or, in another embodiment, two or more timers. When a message is received from the Station Interface's ATTS predecessor, the value of that timer and the size of the message received are used to compute the accumulated ATTS propagation time since the start of an IDM Message cycle. The Station Interface puts that value into the outgoing message header. The timer is, or the timers are, then reset and begin measuring time again.
[000163] If the timer expires before a next message is received from the ATTS defined Station Interface predecessor, that Station Interface predecessor is presumed to have dropped from the network so the Station Interface deletes the ATTS Station Interface predecessor from its local copy of the ATTS and immediately sends its own data or status message. An allowance, of a predetermined amount of time, may be provided, if desired, so that small delays in reception caused by, for example, the stations moving farther apart do not result in the erroneous presumption that a station has dropped out. All the Station Interfaces check which Station Interfaces have transmitted every IDM Message cycle, and remove those Station Interfaces that have not transmitted within the IDM Message cycle from their ATTS. Therefore, the non-transmitting Station Interfaces are removed from all the ATTS copies across the network within the IDM Message cycle. Should the dropped Station Interface subsequently need to rejoin the operating BSTTS network, that Station Interface goes through
U77967 43 the normal Station Interface join process. Optionally, at the discretion of the network administrators, a Station Interface may be required to be reset, manually and/or automatically, before it can initiate a rejoining cycle and/or before it will be allowed to rejoin. This reduces adverse effects on the network caused by an erratic device if the problem can be resolved by resetting, e.g., restarting, the device. The cluster architecture preferably is repaired after the loss of a station.
[000164] All Station Interfaces, including those that are preparing to join the operating network, monitor operating network traffic and each Station Interface is immediately aware of the loss of any and all stations that drop out of the operating network. The remaining Station Interfaces in a cluster can determine whether one and/or more of their members are missing, and need do nothing when none of their members is missing.
[000165] When a member is'missing, the following actions occur. If the dropped Station Interface is not the host of another cluster then that Station Interface is simply removed from the cluster. If the dropped Station Interface is the host of another cluster then another member of that cluster must assume the role of hosting that cluster. The best candidate for this role is a member of that cluster which is currently not hosting another cluster, i.e., a "leaf node" on the that cluster. A depth-first search is therefore performed to find a leaf node in that cluster hierarchy, the leaf node is removed from its current cluster, and then the leaf node is installed as the host of the cluster which just lost its host Station Interface. In one embodiment, these actions are performed by the Station Interface to which the dropped Station Interface was the predecessor Station Interface. In another embodiment, a Station Interface which can communicate with another member of that cluster performs the actions. [000166] BSTTS Station Interfaces therefore self-organize and self-manage the ATTS, and can accurately set their message-arrival-timers. The message-arrival-timers permit BSTTS networks to operate more bandwidth efficiently than conventional networks when, for example, a BSTTS Station Interface drops from the BSTTS networks. Also, operating with the self-organizing and self-managing ATTS provides inherent health monitoring of the BSTTS networks without the need for the expenditure of additional network resources. [000167] An operating cluster preferably continually monitors the message traffic with the goal of improving the optimality of the ATTS. This provides for the continued, efficient operation of a network, especially one which contains mobile stations. Returning to the matter of solving the TSP, because of its computational complexity, solutions to the TSP for a significant number of nodes are generated in two stages: an initial estimate of the solution;
1177967 44 and a period of analysis attempting to improve the solution by various techniques. In one embodiment, each Station Interface calculates its propagation time to its neighbors, and therefore can easily determine the propagation time to all their neighbors. From these data, it is therefore readily possible to perform a local optimization that will re-order this small group of stations. Preferably, each Station Interface performs these calculations on a continuous basis, or at least at regular intervals. Whenever such an optimized re-ordering is then automatically determined, a new, re-ordered ATTS is distributed to all Station Interfaces when one of the Station Interfaces has the authority to transmit. In one embodiment, this is done when the Station Interface does not have any payload data to send. These calculations could also be done by a station rather than a Station Interface. As before, normal operation of the BSTTS network resumes uninterrupted on the next IDM Message cycle. [000168] The above procedure provides several benefits. First, by refining the quality of the ATTS, the network bandwidth available under normal circumstances is continually improved. The results from the hierarchical cluster TSP solution are most likely to be adversely affected at the transition from one cluster to another, where long paths may be created. By locally analyzing this situation, the Station Interfaces are able to shorten the ATTS propagation time and thereby improve the available bandwidth. Second, bandwidth availability is maintained even when some, or all, of the stations are in motion. Thus, unlike the prior art, the stations operating as disclosed herein can operate at near optimal efficiency even when all the stations are moving in three dimensions in any transmission media 600 that supports digital packet transmission. A problem generally unique to mobile stations, compared to a fixed station, is that the propagation time may increase as the stations move away from the original configuration for which the ATTS was optimized. However, once the initial ATTS has been constructed, this active self-assessment process continually adapts the approximate ATTS to counter the effects of station mobility on the efficiency of bandwidth utilization. In one embodiment, this is performed thousands of times per second, but still has little or no cost in bandwidth during normal IDM Message Cycles.
[000169] In the refinement of the ATTS, close approximations to the optimal TSP solution are computed for use to organize and to control networks with a large numbers of stations; propagation time measurements induce minimal to no interference with the operation of the communicating network; network efficiency of the ATTS improves through continual refinements; and collisions are avoided during the joining process.
1177967 45 [000170] Communicating among a large number of stations on shared transmission media 600 with the lowest lost network bandwidth requires a computationally practical solution to the TSP. Exact solutions to the TSP are extremely computationally expensive, and can be achieved practically using today's hardware, for example, for less than a dozen stations. Some approximate solutions apply only to linear networks. Others, using the classical approximation referred to as the Minimal Spanning Tree (MST), still require significant amounts of computation and memory, and are guaranteed to achieve a solution only within a factor of 2 of the optimal solution. In particular, the amount of memory consumed by the MST technique grows as N2, and the computational load as grows as N3, where N is the number of stations. These MST characteristics, using today's hardware, make the limiting practical upper bound of this algorithm application to somewhere around 200 stations or less. [000171] In one embodiment, an approximate ATTS is constructed and maintained in real-time and the logic that computes the approximate TSP solution is implemented in two parts: the logic for a Station Interface to join the network and create a new approximate ATTS, and the logic for each Station Interface to contribute to the maintenance of the existing ATTS.
[000172] A hierarchical clustering technique is used in one embodiment and can achieve, within 20%, the optimal TSP solution for over 10,000 stations while consuming minimal computation and memory resources. This provides for practical implementation based upon available standard hardware Station Interface implementations. This also results in no computational load placed on the Stations or Station Interfaces already communicating over the established network, provides minimum operating network interference, and provides for minimum communications bandwidth consumption. [000173] BSTTS networks are self-organizing, Self-Managed, and do not require a network administrator in that they can respond to, and recover from, conditions that cause one or more Station Interfaces to lose contact with other Station Interfaces. In one embodiment, all Station Interfaces are compatible in behavior. As mentioned herein, in one technique for computing the approximate ATTS connectivity the Station Interfaces are arranged hierarchically in clusters. As with all hierarchies, there is a root cluster from which the other clusters extend. This root cluster is referred to as the Primary Cluster, which may be of any convenient size that is compatible with current hardware Station Interface computational capabilities. Membership in this Primary Cluster is accomplished merely by being among the first Station Interfaces to join the network. In one embodiment, significant
1177967 46 separation from other Station Interfaces may be required and, otherwise, membership in the Primary Cluster is denied by membership in a non-Primary Cluster is provided. This hierarchy is completely Self-Managed. For example, in one embodiment, if one of the Primary Cluster Station Interfaces drops from the network, the next Station Interface to join is added to the Primary Cluster or a Station Interface in a non-Primary Cluster may become a member of the Primary Cluster.
[000174] Subsequently, any station joining the BSTTS network finds its location in the hierarchy by first communicating with one of the Primary Cluster Station Interfaces. That Station Interface provides the joining Station Interface with the identity of its cluster members and a table of its distances and/or time from the other members. The logic in the joining Station Interface then computes its distance from each Primary Cluster Station Interface and chooses the closest. As this chosen Station Interface may itself be the host of another cluster, the joining Station Interface sends a message asking to join the cluster of the chosen Station Interface. If space in that cluster is available permission may be granted. If space in that cluster is not available, the process is repeated until a cluster is found which has an available space for the new Station Interface.
[000175] The joining Station Interface then adds itself to that cluster and computes the path connecting the Station Interfaces of this cluster, including itself in the cluster. Next, the joining Station Interface, in order to form the new ATTS, determines the proper place to splice into the cluster, deletes all the old nodes in this cluster from the current ATTS, then inserts the new cluster into the ATTS, and then computes a new ATTS. This new ATTS is distributed to all the Station Interfaces, and communications including the joining station resume at the beginning of the next IDM Message Cycle. [000176] In one embodiment, the non-interfering measurement of propagation times between stations supports the logic for a joining station to connect the network with minimal interference with existing message traffic, and supports the continual process of maintaining optimal performance regardless of whether stations are moving as the TSP solution, according to one embodiment, is an approximation, and the Station Interfaces continually evaluate and improve the ATTS path length. [000177] During every normal IDM Message Cycle, each Station Interface computes the propagation delay to ATTS members by timing the round-trip propagation time. When each IDM Message Cycle begins, the first ATTS station inserts into its message header a
1177967 47 propagation time of zero. As the E)M Message Cycle proceeds, each station includes in its header message the cumulative propagation time since that DDM Message Cycle. [000178] The propagation time from the joining station to any given station of a cluster can then be determined. During the initial message exchange with the Inviting Station Interface, the joining Station Interface measures the round-trip propagation time to the Inviting Station Interface. A message received from any station contains the accumulated propagation time from the beginning of the IDM Message Cycle. The propagation time from the joining station to the source of that message is computed as the accumulated propagation time minus its propagation time from the Inviting Station Interface as measured above. [000179] Classical TSP algorithms for large systems typically begin with a good approximation to the solution and then refine that solution, continually moving it towards the absolute optimum. These refinement techniques come in two forms: macro analyses including Monte Carlo style random perturbations of the solution in the hope of escaping a local minimum, and local optimizations removing obvious inefficiencies, such as four stations connected in an "X" pattern rather than a box.
[000180] The results of the clustering algorithm may not necessarily be globally optimal due to the assembly of the paths connecting cluster local paths. An ATTS may be produced with long reaches between cluster ends. One embodiment improves the ATTS dynamically by removing "X" patterns. Referring to FIG. 8, each station, for example station 101c, examines the propagation times to its two previous ATTS neighbors on the ATTS, station 101a and station 101b. If station lOlc's propagation time to station 101a is less than its propagation time to station 101b, then an "X" pattern connection has accidentally formed. Station 101c recommends that station 101a and station 101b be exchanged within the ATTS. This recommendation is propagated to all stations to maintain integrity of the ATTS copies. [000181] During normal network IDM Message Cycles, the authority to transmit is deterministic and no collisions are possible. However, a situation may occur when multiple stations simultaneously attempt the initial dialog to join the BSTTS network, and happen to be close to the same distance from the ATTS Inviting Station. In this case, both joining stations will transmit and a collision may occur, corrupting both messages from the new stations. Many broadcast media do not permit collision sensing. However, if a collision occurs, the Inviting Station will reject the corrupted messages and not respond to them. Each new station will determine from the lack of response from the Inviting Station that its message was lost. As this is only occurs during the joining process, and the only affected
1177967 48 stations are the ones not already connected to the operating BSTTS network, there is no significant cost to using larger, random, back-off times for the joining stations to escape further simultaneous join attempts. If both joining stations transmitted their join request, but a collision did not occur, then the network responds to the first request received and ignores subsequent requests, thereby triggering the same back-off response in the remaining station(s) as if a collision had occurred.
[000182] FIGs. 13A and 13B are block diagrams illustrating the functional elements of an exemplary Station Interface 501. For clarity of illustration, the Station Interface 501 is shown and described as a receive-functionality element 1300 and a transmit-functionality element 1350.
[000183] FIG. 13A is a block diagram illustrating the receive-functionality element 1300 of an exemplary Station Interface 501. Station Interface 501 receives messages 300 (300a8, 300b7, 300nl, 300a9, 300n2, 300c3, 300d4, 300e3, 300f3, and 30OgI) from one or more of the same or different transmission media 600m, 60On and 60Oo through one or more receive processing logic units ("Receive From Transmission Media") 1304a, 1304b, and 1304n. Receive processing logic units 1304a, 1304b, and 1304n send the messages 300, via one or more of the same or different transmission media 600k4, 600k9, and 600kl4, to one or more message buffers 1302a, 1302b, and 1302n units. Message buffers 1302a, 1302b, and 1302n temporarily store the messages 300 and forward the messages 300 via one or more of the same or different transmission media 600k2, 600k7, and 600kl2 to one or more transmit processing logic units ("Send To Station Transmission Media") 1301a, 1301b, and 1301n. The transmit processing logic units 1301a, 1301b, and 1301n units deliver the messages 300 to one or more stations of arbitrary complexity 101a, 101b, and 101n, via one or more of the same or different transmission media 60Og, 60Oh, 60Oi, 60Oj, 60Op, 60Oq, 60Or, 600s, and 60Ou. Control of the Station Interface 1300 is implemented with one, two, or a plurality of BSTTS Message Control and Timer units 1303a, 1303b, and 1303n transmitting and receiving control signals and transmitting and receiving control information via one or more serial and/or parallel, same or different, transmission media 600kl, 600k3, 600k5, 600k6, 600k8, 60OkIO, 60OkIl, 600kl3, and 600kl5. Although the Station Interface 501 is shown as having a receive-functionality element 1300 which has a plurality of transmit processing logic units 1301, message buffers 1302, Message Control and Timers 1303, and receive processing logic units 1304, and as being connected to a plurality of Stations 101, this is not a requirement and a Station Interface 501 may be dedicated to a single station 101 and only
1177967 49 have a single receive-functionality element 1300, a single transmit processing logic unit 1301, a single message buffer 1302, a single Message Control and Timer 1303, and a single receive processing logic unit 1304. [000184] FIG. 13B is a block diagram illustrating the transmit-functionality element 1350 of an exemplary embodiment Station Interface 501. Station Interface 501 receives, from one or more stations 101a, 101b, and 101n, via one or more of the same or different transmission media 60Ov, 60Ow, 60Ox, 60Oy, 60Oz, 600aa, 600ab, 600ac, and 600ad, messages 300 (30OaIO, 30OaIl, 300al2, 300b8, 300b9, 30ObIO, 300n3, 300n4, 300n5, 300n6, 300n7, and 300n8) by the use of one or more receive processing logic units ("Receive From Station Transmission Media") 1351a, 1351b, and 1351n. Receive processing logic units 1351a, 1351b, and 1351n route messages 300 by way of one or more of the same or different transmission media 600t2, 600t7, and 600tl2 to one or more message buffers 1352a, 1352b, and 1352n. Message buffers 11352a, 1352b, and 1352n temporarily store messages 300 and then forward messages 300 via one or more of the same or different transmission media 600t4, 600t9, and 600tl4 to one or more transmit processing logic units ('Transmit To Transmission Media") 1354a, 1354b, and 1343n. Transmit processing logic units 1354a, 1354b, and 1343n deliver messages 300 to one or more of the same or different transmission media 600ae, 600af, and 600ag. Control of the Station Interface 1350 is implemented with one or more BSTTS Message Control and Timer Units 1353a, 1353b, and 1353n, which transmit and receive control signals and transmitting and receiving control information via one or more of serial and/or parallel, same or different, transmission media 600tl, 600t3, 600t5, 600t6, 600t8, 60OtIO, 60OtIl, 600tl3, and 600tl5. Although the Station Interface 501 is shown as having a transmit-functionality element 1350 which has a plurality of receive processing logic units 1351, message buffers 1352, Message Control and Timers 1353, and transmit processing logic units 1354, and as being connected to a plurality of Stations 101, this is not a requirement and a Station Interface 501 may be dedicated to a single station 101 and only have a single transmit-functionality element 1350, a single receive processing logic unit 1351, a single message buffer 1352, a single Message Control and Timer unit 1353, and a single transmit processing logic unit 1354. [000185] It will be appreciated that many of the components shown therein may be shared. For example, units 1301 and 1351 may be part of a single interface with a Station 101. Likewise, units 1304 and 1354 may be part of a single interface with a communications media 600. In addition, the control and timer units 1303 and 1353 may be a single unit which
1177967 50 controls both transmit and receive operations. And, in addition, buffers 1302 and 1352 may be part of the same memory unit, or even part of the control and timer unit 1303, 1353. [000186] Also, a single unit 1301a may be used, for example, to demultiplex slower signals to two or more stations 101a, 101b ... and lOln from a Station Interface 1300. Further, a single unit 1351a unit may multiplex signals from two or more stations 101a, 101b ... and lOln to a Station Interface 1350.
[000187] The performance of networks constructed and operated as described herein can be easily ascertained and documented, with minimal to no performance penalty to network operations. In one embodiment, by listening to the messages traveling on the transmission media, any and all of the Station Interfaces can gather network statistics and create an event log documenting network performance. In another embodiment, a network may have dedicated Station Interfaces that gather network statistics and create an event log documenting the performance of the network. In yet another embodiment, another system monitors the communications on the network and records the associated performance, for example for performing and gathering on-line test results, diagnostic information, and prognostic information.
[000188] If one considers the ATTS to be a list, the reverse ATTS may be a separate list, or may be the same list but executed in the opposite direction.
[000189] Also, a station may switch from using a forward ATTS to a reverse ATTS at any point which is convenient and which does not introduce error or uncertainty. For example, when a station is implementing the forward ATTS the station may switch to implementing the reverse ATTS once the last station listed in the forward ATTS has transmitted, may switch to implementing the reverse ATTS once its successor or one or more other subsequent stations in the forward ATTS has or have transmitted, may switch to implementing the reverse ATTS once it detects one or more other stations transmitting in the order specified in the reverse ATTS, may switch to implementing the reverse ATTS once it has transmitted, especially if it is at an endpoint (the first or last station) on the ATTS, etc.
[000190] Generally, a station monitors the transmissions of other stations and will transmit a message when it has received a message from its immediate predecessor station, giving due consideration to whether the forward ATTS or the reverse ATTS is in effect. Also, giving due consideration to whether the forward ATTS or the reverse ATTS is in effect, a
1177967 51 station will transmit a message when it has detected the failure to timely receive a message from its immediate predecessor station.
[000191] As a station knows the order of transmission from the ATTS or the reverse ATTS, and has either determined or been provided the propagation time with respect to each other station, or at least some of the other stations, preferably at least two or three predecessor stations as listed in the ATTS or the reverse ATTS as appropriate, a station will know, once a message has been received from one predecessor station, how long the delay should be before a message from a next predecessor station (next in the ATTS) is received.
[000192] For example, if there a five stations, A-E (not shown), and station E receives a message from station A, station E will know when it should begin receiving a message from station B and, once station E has received the message from station B, station E will know when it should begin receiving a message from station C and, once station E has received the message from station C, station E will know when it should begin receiving a message from station D. Therefore, if station E does not begin receiving a message from station D by that time, or shortly thereafter, for example, a nominal delay time so as to compensate for processing time, movement of the stations, etc., then station E will determine that station D has dropped out, and station E will begin transmitting. The other stations will also act accordingly, based upon their own propagation delay time calculations and nominal times.
Once a station has determined that another station has dropped out it removes that station from the ATTS.
[000193] Optionally, if station E receives a message from station B, but does not receive a message from station C, station E will determine that station C has dropped out. Station E will expect to receive a message from its predecessor, station D, within two nominal delay times, one nominal delay time for station D to determine that station C has dropped out, and one nominal delay time for the expected transmission from station D. If station E does not receive a message from station D within this time then station E will determine that station D has also dropped out. The other stations will also act accordingly, based upon their own propagation delay time calculations and nominal times. [000194] From the above, many of the benefits of, and features provided by, the present invention will now be apparent. Some examples of those benefits and features are given below.
1177967 52 [000195] Systems containing one, two or a plurality of common paths supplied by one, two or a plurality of joining paths, for example, but not limited to, home networks, industrial process control networks, server access management, storage device and systems management, vehicular traffic management, air traffic management, rail-based traffic management, manufacturing work flow management, logistics flow management, transport vehicle packing, and transport vehicle load control can be implemented using, and benefit from, the teachings herein.
[000196] BSTTS networks might be linear, and/or branched, and/or moving in 4- dimensional space-time. [000197] Station Interfaces can be automatically added to and/or deleted from the BSTTS network.
[000198] The BSTTS network stations may be as simple as remote sensors supplying information to other users, digital radios carried by vehicles, and/or individuals, and/or stationary, gateways to other networks, and/or stations of arbitrary complexity. [000199] BSTTS networks are self organizing and Self-Managed and human interaction is not required to construct and to maintain network optimal performance. Therefore, Self- Managed-Efficient ad hoc networks and Self-Managed-Efficient ad hoc networks of networks are possible and can be dynamically organized and managed. A network may consist of a few Station Interfaces to tens-of-thousands of collocated and/or distributed Station Interfaces.
[000200] The bandwidth and the throughput available to all Station Interfaces are maximized by ensuring that, at any given time, only one Station Interfaces has the authority to transmit. [000201] Station Interfaces are self-aware in that each active Station Interface records information such as, but not limited to, the activities of other Station Interfaces and the relative propagation times to Station Interfaces. Because of this self-awareness, the Station Interfaces do not require continual attention from a network administrator because, for example, network status is always available at and known to every Station Interface. [000202] There is little or no need for collision detection, and/or collision management, and/or arbitration because the ATTS used in the BSTTS network prevents transmission media message collisions.
[000203] BSTTS networks operate seamlessly over a wide range of network diameters and across communications media boundaries.
U77967 53 [000204] BSTTS networks provide for efficient transmission of a wide range of message sizes and message structures.
[000205] BSTTS networks permit transmission and message reception acknowledgement to and from to all the BSTTS network Station Interfaces in a single BDM Message Cycle. [000206] BSTTS networks permit: broadcasting to all Station Interfaces, multicast to any subset of the Station Interfaces, and/or one or more point-to-point transmissions between
Station Interfaces in a single IDM Message Cycle.
[000207] BSTTS network performance, with respect to bandwidth, scales essentially linearly with message size and number of users. [000208] BSTTS networks significantly increases the throughput available to each user or station connected via Station Interfaces to one, two or a plurality of network media physical layers.
[000209] The BSTTS methods and devices can be utilized in any number of different network physical and topological configurations. [000210] One, two, a plurality, or all Station Interfaces on a composed BSTTS network may transmit within the time span of a network diameter.
[000211] BSTTS network performance is a priori deterministic and its performance can easily be determined before the network is built.
[000212] One, two or a plurality of stations of arbitrary complexity can be connected to one, two or a plurality of the same or different transmission media 600 by way of one, two or a plurality of Station Interfaces.
[000213] Many physical implementations are possible. Implementation may be, for example, by processing logic that may comprise hardware (such as, but not limited to, dedicated logic circuitry, programmable logic circuitry and firmware), software (such as, but not limited to, instructions run on a general purpose computer system or a dedicated machine), or combinations of all types of processing logic. Instructions (also known as computer programming instructions, computer programs, software, firmware, or reconfigurable logic circuitry) may be stored in the memory and logic circuitry of the Station
Interfaces and/or the Station. In one embodiment Station Interface instructions may be received via the transmission media 600 connected to Station Interfaces. In another embodiment Station Interface instructions may be received from the Station. In yet another embodiment Station Interface instructions may be received via a dedicated media connected device of arbitrary complexity connected to Station Interfaces.
1177967 54 [000214] Stations 101 may be of any arbitrary complexity as represented by, but not limited to: U.S. Patent 6,983,075 to Schwartz, et al., January 2006; U.S. Patent 6,973,513 to Chhabra, et al., December 2005; U.S. Patent 5,742,608 to Randrianaliminana, et al., April 1998; U.S. Published Application US 2005/0243857Al by Hofstaedter, et al., November 2005; U.S. Published Application US2005/019070 IAl by Benjerano, et al., September 2005; U.S. Published Application US2005/0190731A1 by Benjerano, et al., September 2005; U.S. Published Application US 2005/0135406 Al by Fleming, June 2005; U.S. Published Application US2004/0252716A1 by Memazie, December 2004; U.S. Published Application US2004/0076173A1 by Marchetto, April 2004; U.S. Published Application US2004/0001503A1 by Manter, January 2004; U.S. Published Application US2002/0126693 Al by Stark, et al., September 2002; and U.S. Published Application US2002/0097741A1 by Tonella, July 2002; all of which are hereby incorporated herein by reference. [000215] BSTTS messages 300 may be formed by adding to the standard message packet used by many system embodiments and known to one skilled in the art, such as, but not limited to, the fundamental frame layout used historically and commonly in networking, for example, but not limited to FIG. 13 of U.S. Published Application US2002/0101874A1 by Whittaker, et al., August 2002; and U.S. Published Application US2002/0126691A1 by Strong, September 2002; all of which are hereby incorporated herein by reference. [000216] Lengthy strings of all 1 or all 0 values may allow the Station Interfaces phase- locked loops detecting data frequency and/or phase to drift. Correcting for this drift can take time and can limit the bandwidth and throughput. Information delivery in many network environments is improved if every byte of data is actually encoded with additional control bit(s) to eliminate lengthy strings of all 1 or all 0 values as described, for example, but not limited to, U.S. Patent 4,486,739 to Franaszek et al., incorporated herein by reference. Such encodings are also used to enhance error correction at the byte level.
[000217] The various embodiments and approaches described above may be used in various combinations. While specific examples of systems, procedures and operations have been shown, based upon a reading thereof variations and modifications of the embodiments disclosed herein will become apparent to one of skill in the art. Thus, the scope of the present invention should be determined by the appended claims and their legal equivalents without being limited by exemplary embodiments disclosed herein.
1177967 55 APPENDIX A
DISCUSSION OF THE PRIOR ART
THE PRIOR ART DISCUSSED BELOW IS HEREBY INCORPORATED BY REFERENCE HEREIN, AS IF COMPLETELY SET FORTH IN THE SPECIFICATION.
[0001] U.S. Patent 6,956,814 to Campanella, U.S. Patent 6,922,388 to Laroia, et al., U.S. Patent 4,731,880 to AuIt et al., U.S. Patent 5,434,861 to Pritty et al., U.S. Patent 5,517,622 to Ivanoff, et al., U.S. Patent 5,732,086 to Liang et al., U.S. Published Patent Application US2005/0243857A1 by Hofstaedter, et al., U.S. Published Patent Application US2005/0047429A1 by Koo, et al., U.S. Published Patent Application US2004/0013128A1 by Moreton, et al., U.S. Published Patent Application US2003/0128665 Al by Bernhard, et al., U.S. Published Patent Application US2002/0044565A1 by Park, et al., and U.S. Published Patent Application US 2001/0033579A1 by Nelson, Jr., et al. describe network implementations that force-fit users transmitted messages onto the transmission media using such techniques as Time Division Multiplexing (TDM) and Time Division Multiple Access (TDMA), Frequency Division Multiplexing (FDM) and Frequency Division Multiple Access (FDMA), a combination of FDM/TDM and FDMA/TDMA or TDM/FDM and TDMA/FDMA, or Code Division Multiplexing (CDM) and Code Division Multiple Access (CDMA), or Orthogonal Frequency Division Multiplexing (OFDM) and Orthogonal Frequency Division Multiple Access (OFDMA), at the expense of optimum bandwidth utilization and network complexity in contrast to most users' needs for increasing network speed and network simplification.
Ethernet Protocol
[0002] Networking standards, such as, but not limited to, IEEE 802.3 Ethernet, U.S. Patent 6,751,231 to Fellman, et al., U.S. Patent 6704302 to Einbinder, et al., U.S. Patent 6,633,572 to Olshansky, et al., U.S. Patent to 6,370,115 Smith, U.S. Patent 6,320,870 to Thaler, U.S. Patent 6,029,202 to Frazier et al., U.S. Patent 5,995,549 to Crane, U.S. Patent 5,850,525 to Kalkunte, et al., U.S. Patent 5,838,688 to Kadambi, et al., U.S. Patent 5,568,476 to Sherer, et al., and U.S. Published Patent Application US2004/0223503A1 by Lynch show the shortcomings of Ethernet but fail to deliver adequate performance in the face of the increasing network speed and complexity. Nevertheless, due to the inherent user community
1177967 64 familiarity with, and low cost of mass-produced components for, Ethernet is one of the most common network protocols. The primary problem with the Ethernet networks is the dependence on Carrier Sense Multiple Access/Collision Detection (CSMA/CD) to establish the right of a station to transmit on a shared medium by detecting and/or avoiding message collisions. It has been shown that this method allows no more than 30% of the available bandwidth on a communications medium to be utilized. In attempts to recover this lost bandwidth, current high-speed networks have abandoned CSMA/CD in favor of point-to- point connections between layers of hubs, routers, and switches. This architecture merely moves the performance problem from that of bandwidth utilization to that of network latency as the accumulation of switch after switch builds up delay between the sender of a message and its recipient.
Token Ring Protocol
[0003] Perhaps the earliest typical attempt to form an efficient network is by using a token ring network, such as described in U.S. Patent 6,449,283 to Chao, et al., U.S. Patent 5,890,001 to Hall, U.S. Patent 5,517,622 to Ivanoff, et al., U.S. Patent 5,402,422 to Liu, et al., U.S. Patent 5,400,323 to Frenzell, in, et al., U.S. Patent 5,377,187 to Spiotta, et al., U.S. Patent 5,245,605 to Ofek, U.S. Patent 4,926,419 to Whipple, and U.S. Published Patent Application US2004/0223503A1 by Lynch. Token rings inefficiently and expensively implement message transmission by passing a token message around a ring of stations. This ring of stations might actually be point-to-point connections between stations that have no ability to reconfigure without major manual rewiring efforts. More frequently, it is implemented in a star configuration where each station is wired to a central hub and jumper wires establish the transmission order. This configuration enables some degree of reconfiguration by manually moving jumper wires. Nevertheless, in either physical configuration, stations are permitted to transmit when the token arrives empty at their input port. If the token is not empty when it arrives, then the message it contains is passed on around the ring until the sending station resets its contents flag. [0004] The token ring approaches are limiting in a number of respects. Data transmission is unidirectional around the ring, not multi-directional, thereby increasing the average latency before the receiving station sees the message. Multidirectional transmission may be achieved through the added expense and added complexity of multiple paths around the ring. Each station must ingest the incoming token, process it and then create a new message that is either
1177967 65 a copy of the received token or a new token with a new payload. This introduces further and significant latency to the round trip time. The time to process the token also limits the maximum attainable throughput. Adding or deleting stations from such a ring is a manual process, thereby prohibiting any notion of dynamic membership in the network.
Clocked Network Protocol
[0005] Previously, clocked networks, such as described in U.S. Patent 5,434,861 to Pritty et al. focused on providing deterministic communications on a shared data bus among a small fixed number of stations. The key to understanding that implementation is the concept of a "network diameter." This is the time it takes for a signal to propagate from a source at one extreme of the network to a receiver at the furthest extreme of the network, and then back to the source. This communications environment is a predetermined, small number of nodes in fixed configurations on electrical data buses that may be bidirectional or unidirectional and connected in static configurations that are in linear, branched or star form. Like its Ethernet predecessor, a limitation is that only one station is allowed to transmit within the time span of a network diameter. Deterministic behavior is established by requiring that a unique fixed delay time be established for each node at system initialization. The values of these delays are in whole multiples of the network diameter, thereby permitting only one node the authority to transmit in one network diameter. If a station is not ready to transmit when its time arrives, then the network diameter delay allocated to that station remains unused, thereby wasting the bandwidth and limiting the network throughput. While Pritty discloses allowing stations to leave and later rejoin the network, no unexpected arrivals are permitted, because the total membership is defined at system initialization. A polling master node sends a signal on the bus that offers to each station the opportunity to transmit after its built-in delay. A standby polling master will assume the duties of managing the data flow if the first polling master fails.
[0006] Pritty describes an elegant and limited solution to a very narrow problem domain, but the solution lacks the flexibility or efficiency to provide well-organized, Self-Managed- Efficient ad hoc networking because each node is going to consume one network diameter of bandwidth, there is no ability to add stations that are not included at system initialization, a second failure of the polling node prevents the system from operating and, even with a small number of stations, a system administrator is required to establish a unique time delay value for each node.
1177967 66 Master-Slave Protocols
[0007] A number of master-slave networks have been developed over the years for specific applications, such as, but not limited to, MIL-STD-1553, IEEE 1394 (FireWire), Round Robin, Self-Aware networks, and Fiber Optic Bus Wavelength Division Multiplexing protocol.
[0008] MIL-STD-1553 uses a master controller to implement a predetermined message schedule by commanding each station on the bus to transmit at the appropriate time. Although slow by today's standards, this protocol does ensure that data are delivered at exactly the right time. It is, however, completely inflexible with respect to addition of stations, is confined to specific transformer-coupled electrical devices, and permits only 31 nodes to be connected to any one bus.
[0009] IEEE 1394 (FireWire) is a commercial standard implementation that allows highspeed devices to communicate synchronously using clocked frames at a nominal 8 kHz, as discussed in U.S. Patent 7,023,874 to Hauck, et al., U.S. Patent 6,970,481 to Gray III, et al., U.S. Patent 6,947,442 to Saito, et al., U.S. Patent 6,904,044to Duckwall, et al., U.S. Patent 6,771,668 to Fukunaga, et al., U.S. Patent 6,765,923 to LaFoUette, et al., U.S. Patents 6,721,330 and 6,711,173 to Duckwall, et al., U.S. 6,643,723 to Heighway, et al., U.S. Patent 6,636,526 to Nyu, U.S. Patent 6,496,485 to Le, U.S. Patent 6,480,869 to Saito, et al., U.S. Patent 6,463,472 to Van Loo, U.S. Patent 6,457,081 to Gulick, U.S. Patent 6,389,501 to Garney, et al., U.S. Patent 6,366,968 to Hunsaker, U.S. Patent 6,298,406to Smyers, U.S. Patent 6,295,516 to Takeyasu., U.S. Patent 6,233,615 to Van Loo, U.S. Patent 6,161,101 to Stakutis, et al., U.S. Patent 6,065,052 to Van Loo, U.S. Patent 5,802,057 to Duckwall, et al., U.S. Patent 5,802,048 to Duckwall, and U.S. Published Patent Application US2002/0085581A1 by Hauck, et al., U.S. Published Patent Application US2002/0093977A1 by Ono, et al.
[0010] The devices, each of which has a unique identification (ID) code, are organized on the bus in a tree topology. One of the nodes is elected root node and always has the highest ID. The IDs are assigned during the self-id process that happens after each bus-reset. Each device must request from the controller the right to use one of two "isochronous" channels (where transmission is permitted every frame) or to make asynchronous use of the remaining bandwidth in each data frame. The isochronous channels cannot guarantee delivery of the data, the maximum message size is a function of the cable speed, and any data exchange has
1177967 67 to run at the speed of the slowest device involved. While IEEE 1394 is an excellent mechanism for connecting high-speed peripherals to a central processor, it does not meet the requirements of ad hoc networking. It is confined to specific electrical connections, permits a limited number of devices, and has limits on the range between any pair of devices and the message size.
[0011] "Round Robin" global bus system have been implemented, such as those described in U.S. Patent 6,975,324 to Valmiki, et al., U.S. Patent 6,975,324 to Patel, et al., U.S. Published Patent Application US 2004/0001502Al by Garmire, et al., U.S. Published Patent Application US2003/0108060A1 by Black, et al., U.S. Published Patent Application US2OO3/O1O8O61A1 by Black, et al., U.S. Published Patent Application US2003/0043840A1 by Kurokawa, et al., and U.S. Published Patent Application US2002/0044565A1 by Park, et al. In the embodiment described by Park, a bus master (parent) polls the slaves (children) for their status and assigns to each a time slot using TDM methodology. While this implementation can provide timely delivery of data, it is still confined to the world of electrical control signals, and TDM essentially wastes the bandwidth allocated to idle transmitters.
Existing S elf -A ware Networks
[0012] Self-aware networks such as, but not limited to U.S. Patent 5,732,086 to liang et al. attempt to provide message transmission functionality in an ad hoc environment. The system needs one node to be appointed as an "originating node" with the responsibility of determining and maintaining the network topology. The environment in which it operates must permit full duplex transmission links between all nodes. The originating node initially polls all stations, determines by their acknowledgement their topology entry, and initiates normal operation. An "event" might cause that originating node to perform topology repairs by repeating portions of the polling operation. Other nodes on the network remain unaffected if their status in the topology has not changed. While attempting to approach dynamic network topology management, this approach, and others of its kind, fall short because all the nodes are wired with two-way links, thereby preventing the inclusion of unexpected nodes. Event detection is accomplished by nodes communicating a change of state to one of the active nodes, and when an event is detected, all communications stop until the topology is reestablished. While this may be satisfactory fine for a very small number of stations and small network diameters, the bandwidth cost of these interruptions becomes prohibitive in a dynamic environment with a large number of stations.
1177967 68 Fiber Optic Bus Wavelength Division Multiplexing Protocol
[0013] U.S. Published Patent Application US2002/0101874A1 by Whittaker et al. attempts to overcome the limitations of TDM, FDM and combinations of TDM and FDM implementations for a plurality of stations on a real-time ad hoc network. It combines the best characteristics of the Token Ring, Clocked, Master-Slave and Self-Aware network topologies, and is designed for use on a linear optical data bus into which all nodes are tapped rather than point-to-point links. Separate, unrelated implementations such as disclosed in U.S. Patent 5,898,801 to Braun et al., and U.S. Published Patent Application US2004/0076434A1 by Whittaker et al. allow this tapping to occur without loss of signal energy on the bus at the expense of diminished Signal to Noise ratio. While designed to operate on a linear bus, those implementations can be extended to work (with a significant loss of effective bandwidth) on either a branching bus or in a broadcast medium. [0014] Whittaker allows all stations the opportunity to transmit within the space of one network diameter, thereby greatly improving the bandwidth utilization. Referring to the transition of the authority to transmit from one end of the transmission order to the other as one cycle, at the beginning of a cycle, before any data are transmitted, a node designated as the Starting Bus Master (SBM) sends out a Beginning of Sequence (BOS) message that resets all the active nodes on the bus. At the end of the cycle, the last node on the transmission order, the Ending Bus Master (EBM), sends out an End of Sequence (EOS) message after its data message. Between these two messages, every active node has had the opportunity to send a message. If it had none to send, a node sends a synchronization message to transfer the transmit authority to its successor on the transmission order. [0015] Whittaker dynamically computes the transmission order by the SBM, which is enabled by the presence of the EOS message. When the SBM sees the EOS message, instead of starting the next cycle immediately, it pauses for one network diameter to allow a joining station to identify itself. Such a joining station would see the EOS message and immediately transmit a request to join the network. When such a request is granted, data transmission is suspended in a manner similar to that of the self-aware network. A joining SBM is assigned by the joining station to be the node furthest from that joining station. The assigned SBM then measures its distance from all the other nodes including the joining station by pinging each station of interest, receiving a response, and recording the round-trip time accomplish each of these distance measurements. The assigned SBM then forms the new transmission order by sorting the nodes by distance and begins a fresh data cycle.
1177967 69 [0016] While Whittaker discloses an improved approach to providing network capability for ad hoc networks, Whittaker also has a number of limitations to providing optimum throughput, such as: in any Master/Slave embodiment, the use of a SBM and an EBM to maintain system operation causes serious concerns for system integrity and reliability in the face of the failure of either master node; by using BOS and EOS messages and pausing every cycle for a network diameter, a significant portion of the bandwidth remains lost; when a new station joins the network, as the number of nodes increases, the amount of time consumed by the process of interrogating all the nodes (twice) becomes prohibitive, thereby preventing the system from guaranteeing timely delivery of data in an ad hoc environment; and the algorithm for determining the transmission order only develops efficient sequences on a linear bus without branches. In a branched networks or free space networks, this algorithm tends to develop exactly the wrong sequence of nodes because it orders their transmission by their distance from the master node.
Collision Avoidance, Detection, and Management
[0017] U.S. Patent 7,012,927 to Nichols, U.S. Patent 7,009,993 to Pronk, U.S. Patent 7,006,521 to Nguyen, U.S. Patent 7,006,469 to Roark, U.S. Patent 7,002,984 to Cheng, U.S. Patent 6,993,042 to Akatsuka, U.S. Patent 6,990,072 to Alasti, U.S. Patent 6,980,562 to Rudolf, U.S. Patent 6,980,561 to Abi-Nassif, U.S. Patent 6,977,919 to Stanwood, U.S. Published Patent Application US2006/0056440A1 by Khartabil, U.S. Published Patent Application US 2006/0039400A 1 by Mukhopadhyay, U.S. Published Patent Application US2006/0039342A1 by Frank, U.S. Published Patent Application US2005/0276276A1 by Davis, and U.S. Published Patent Application US2005/0243858A1 by Vitebsky; all of which are hereby incorporated herein by reference, disclose collision detection, and/or collision management, and/or arbitration, and/or contention processing logic. However, these inventions may not operate as well in an environment where stations are joining and dropping out.
1177967 70

Claims

CLAIMS We claim:
1. A method for operating a network, the network comprising a plurality of stations, each station being capable of transmitting and receiving, the method comprising:
(a) defining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station;
(b) transmitting a message from the first station; (c) transmitting a message from each of the intermediate stations in their order of listing;
(d) transmitting a message from the last station;
(e) reversing the order of the ATTS;
(f) transmitting another message from the last station; (g) transmitting another message from each of the intermediate stations in their reverse order of listing;
(h) transmitting another message from the first station; and (i) returning to step (b).
2. The method of claim 1 wherein step (e) comprises defining a reverse ATTS which specifies the order in which the stations may transmit and which order is reverse to that of the ATTS defined in step (a).
3. A method of operating a station in a network comprising a plurality of stations, each station being capable of transmitting and receiving, the method comprising:
(a) obtaining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station;
(b) defining a reverse ATTS based upon the ATTS, the order in which the stations may transmit being reverse to the order of the ATTS defined in step (a);
(c) receiving messages;
(d) inspecting each message to determine if it was from a predecessor station in the ATTS or in the reverse ATTS; and
1177967 56 (e) if the message was from a predecessor station then, once that message is complete, transmitting a message.
4. The method of claim 3 and further comprising: estimating the time at which a message from the predecessor station should be received; if that estimated time has passed and a message has not been received from the predecessor station then transmitting a message.
5. The method of claim 3 and further comprising: estimating the time at which a message from the predecessor station should be received; if that estimated time has passed and a message has not been received from the predecessor station then removing that predecessor station from the ATTS and the reverse ATTS.
6. The method of claim 3 and further comprising: estimating the time at which a message from the predecessor station should be received; if that estimated time has passed and a message has not been received from the predecessor station then transmitting a message and removing that predecessor station from the ATTS and the reverse ATTS.
7. A method of operating a station in a network comprising a plurality of stations, each station being capable of transmitting and receiving, the method comprising:
(a) obtaining an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station;
(b) at a predetermined time, sending a pause message to invite a new station to join the network;
(c) if a reply message is received then sending a station identity and the ATTS to the new station;
1177967 57 (d) receiving a revised ATTS from the new station, the revised ATTS listing the new station; and
(e) transmitting a message in accordance with the revised ATTS.
8. The method of claim 7 wherein step (e) comprises: inspecting each message to determine if it was from a predecessor station in the revised ATTS; and
(e) if the message was from a predecessor station then, once that message is complete, beginning transmission of a message.
9. A method of operating a joining station, the station wishing to join a network comprising a plurality of stations, each station being capable of transmitting and receiving, the method comprising:
(a) listening on the network for a pause message inviting new stations to join the network;
(b) sending a reply to the pause message;
(c) receiving an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station; (d) determining propagation times between the joining station and at least some of the stations listed in the ATTS;
(e) determining a position in the ATTS where the joining station should be placed;
(f) defining a revised ATTS listing the joining station in that position;
(g) receiving a message authorizing the joining station to transmit; (h) transmitting a message, the message including the revised ATTS; and
(i) transmitting further messages in accordance with the revised ATTS.
10. The method of claim 9 wherein step (e) comprises determining the position so as to maintain network efficiency.
11. A method of operating a joining station, the station wishing to join a network comprising a plurality of stations, each station being capable of transmitting and receiving, the method comprising:
1177967 58 (a) listening on the network for a pause message inviting new stations to join the network;
(b) sending a reply to the pause message;
(c) receiving a designation of a Parent Station in a cluster and at least part of an Authorization To Transmit Sequence (ATTS) which specifies the order in which the stations may transmit, the ATTS listing a first station, at least one intermediate station, and a last station, the at least part including stations in the cluster;
(d) determining propagation times between the joining station and at least some of the stations in that cluster which are listed in the at least part of the ATTS; (e) determining a position in the at least part of the ATTS where the joining station should be placed with respect to the stations in that cluster so as to maintain network efficiency;
(f) defining a revised at least part of the ATTS listing the joining station in that position; (g) receiving a message authorizing the joining station to transmit;
(h) transmitting a message, the message including the revised at least part of the ATTS; and
(i) transmitting further messages in accordance with the at least part of the revised ATTS.
12. The method of claim 11 wherein the step (c) of receiving at least part of an ATTS comprises receiving a local ATTS, the local ATTS being included within the ATTS.
13. The method of claim 11 wherein step (e) comprises: determining a plurality of network propagation times, each network propagation time being for a different ordering of transmissions for the at least part of the ATTS and including the joining station, and being based upon propagation times between the joining station and at least some of the stations in that cluster which are listed in the at least part of the ATTS; determining the minimum propagation time of the plurality of network propagation times; providing the ordering of transmissions which resulted in the minimum propagation time as a revised at least part of the ATTS.
1177967 59
14. A network, comprising: a plurality of stations, each station being capable of transmitting and receiving, each station comprising: a transmitter to transmit messages; a receiver to receive messages; a controller functionally connected to the transmitter to control the transmitter, functionally connected to the receiver to process messages received by the receiver, and having a memory to store and retrieve an Authorization To Transmit Sequence (ATTS) which specifies an order in which the stations may transmit, the ATTS listing a first station of the plurality of stations, at least one intermediate station of the plurality of stations, and a last station of the plurality of stations, the controller being responsive to the ATTS and to a reverse ATTS; the controller of the first station causes the transmitter of the first station to transmit a first message if the ATTS is in effect, and the controller inspects a received message and causes the transmitter of the first station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS; the controller of each intermediate station inspects a received message and causes the transmitter of the intermediate station to transmit a message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the intermediate station to transmit a message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS; and the controller of the last station inspects a received message and causes the transmitter of the last station to transmit a first message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the last station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS; whereby a sequence of transmission of the stations is for the first station listed in the ATTS to transmit, each intermediate station to transmit in its order of listing in the ATTS, the last station listed in the ATTS to transmit, the last station to transmit again, each intermediate station to transmit in its order of listing in the reverse ATTS, and the first station to transmit again; and
1177967 60 whereby the sequence of transmission is executed at least one more time.
15. The network of claim 14 wherein a controller implements a reverse ATTS by reversing the order in the ATTS.
16. The network of claim 14 wherein the controller also causes the transmitter to transmit a message if the ATTS is in effect and a message was not timely received from an immediately preceding station in the ATTS, or causes the transmitter to transmit a message if the reverse ATTS is in effect and a message was timely received from an immediately preceding station in the reverse ATTS.
17. The network of claim 14 wherein a station further comprises a station interface, and the controller is in the station interface.
18. A station, comprising: a transmitter to transmit messages; a receiver to receive messages; and a controller functionally connected to the transmitter to control the transmitter, functionally connected to the receiver to process messages received by the receiver, and having a memory to store and retrieve an Authorization To Transmit Sequence (ATTS) which specifies when the station may transmit with respect to other stations listed in the ATTS, the ATTS listing a plurality of stations, the plurality of stations having a first station, at least one intermediate station, and a last station, the controller being responsive to the ATTS and to a reverse ATTS to cause the transmitter to transmit; the controller inspecting a received message and causing the transmitter to transmit a message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, or causing the transmitter to transmit a message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
19. The station of claim 18 wherein a controller implements a reverse ATTS by reversing the order in the ATTS.
1177967 61
20. The station of claim 18 wherein the controller also causes the transmitter to transmit a message if the ATTS is in effect and a message was not timely received from an immediately preceding station in the ATTS, or causes the transmitter to transmit a message if the reverse ATTS is in effect and a message was timely received from an immediately preceding station in the reverse ATTS.
21. The station of claim 18 wherein the station is the first station in the ATTS and the controller of the first station causes the transmitter of the first station to transmit a first message if the ATTS is in effect, and the controller inspects a received message and causes the transmitter of the first station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
22. The station of claim 18 wherein the station is the last station in the ATTS and the controller of the last station inspects a received message and causes the transmitter of the last station to transmit a first message if the ATTS is in effect and the received message was transmitted by an immediately preceding station in the ATTS, and causes the transmitter of the last station to transmit a second message if the reverse ATTS is in effect and the received message was transmitted by an immediately preceding station in the reverse ATTS.
23. The network of claim 18 wherein a station further comprises a station interface, and the controller is in the station interface.
1177967 62
PCT/US2007/072114 2006-07-05 2007-06-26 Self-organized and self-managed ad hoc communications network WO2008005751A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/428,594 US7792137B2 (en) 2006-07-05 2006-07-05 Self-organized and self-managed ad hoc communications network
US11/428,594 2006-07-05

Publications (2)

Publication Number Publication Date
WO2008005751A2 true WO2008005751A2 (en) 2008-01-10
WO2008005751A3 WO2008005751A3 (en) 2008-04-03

Family

ID=38895320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/072114 WO2008005751A2 (en) 2006-07-05 2007-06-26 Self-organized and self-managed ad hoc communications network

Country Status (2)

Country Link
US (1) US7792137B2 (en)
WO (1) WO2008005751A2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872348B1 (en) * 2007-01-11 2008-12-05 삼성전자주식회사 System and method for energy management for sensor network using the spanning tree
US8230086B2 (en) * 2007-06-18 2012-07-24 International Business Machines Corporation Hidden group membership in clustered computer system
US8954562B2 (en) * 2007-09-28 2015-02-10 Intel Corporation Entropy-based (self-organizing) stability management
US7996510B2 (en) * 2007-09-28 2011-08-09 Intel Corporation Virtual clustering for scalable network control and management
US8914481B2 (en) * 2008-10-24 2014-12-16 Novell, Inc. Spontaneous resource management
US20100306014A1 (en) * 2009-06-01 2010-12-02 Consolidated Edison Company Utility service component reliability and management
WO2010138906A1 (en) * 2009-05-28 2010-12-02 The Trustees Of Columbia University In The City Of Newyork Capital asset planning system
US20140365269A1 (en) * 2013-06-10 2014-12-11 Internationl Business Machines Corporation Failure prediction based preventative maintenance planning on asset network system
US9307567B2 (en) * 2013-10-28 2016-04-05 Qualcomm Incorporated Methods for detecting rejoining nodes in an IBSS
US9967052B2 (en) * 2016-08-26 2018-05-08 Huawei Technologies Co., Ltd. Photonic layer aware path computation element
US11588926B2 (en) 2016-11-14 2023-02-21 Temple University—Of the Commonwealth System of Higher Education Statistic multiplexed computing system for network-scale reliable high-performance services
US11892996B1 (en) 2019-07-16 2024-02-06 Splunk Inc. Identifying an indexing node to process data using a resource catalog
US11829415B1 (en) 2020-01-31 2023-11-28 Splunk Inc. Mapping buckets and search peers to a bucket map identifier for searching
US11615082B1 (en) * 2020-07-31 2023-03-28 Splunk Inc. Using a data store and message queue to ingest data for a data intake and query system
US11449371B1 (en) 2020-07-31 2022-09-20 Splunk Inc. Indexing data at a data intake and query system based on a node capacity threshold
US11609913B1 (en) 2020-10-16 2023-03-21 Splunk Inc. Reassigning data groups from backup to searching for a processing node
CN113055851B (en) * 2021-05-31 2021-08-17 四川腾盾科技有限公司 Anti-destruction unmanned aerial vehicle cluster topology optimization method based on position and double key nodes
US11809395B1 (en) 2021-07-15 2023-11-07 Splunk Inc. Load balancing, failover, and reliable delivery of data in a data intake and query system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020018448A1 (en) * 2000-04-25 2002-02-14 Amis Alan Dewayne Clusterhead selection in wireless ad hoc networks
US20050080912A1 (en) * 2003-09-25 2005-04-14 Finn Norman W. System and method for registering and un-registering membership in virtual local area networks
US20050099974A1 (en) * 2002-10-15 2005-05-12 Intech 21, Inc. Timely organized ad hoc network and protocol for timely organized ad hoc network

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
WO1984004638A1 (en) 1983-05-12 1984-11-22 American Telephone & Telegraph Communication network
US4926419A (en) 1985-03-15 1990-05-15 Wang Laboratories, Inc. Priority apparatus
US4935877A (en) 1988-05-20 1990-06-19 Koza John R Non-linear genetic algorithms for solving problems
US5434861A (en) 1989-02-02 1995-07-18 Pritty; David Deterministic timed bus access method
DE69017880T2 (en) * 1990-01-30 1995-07-06 Hewlett Packard Co System and protocol for an optical star network with minimal delay between successive data packets.
US5182747A (en) 1990-06-26 1993-01-26 International Business Machines Corporation Method for controlling the insertion of stations into fddi network
US5317568A (en) 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US5377187A (en) 1991-09-03 1994-12-27 Motorola, Inc. Addressing method and apparatus for a data conveyance modular network
US5245605A (en) 1991-10-04 1993-09-14 International Business Machines Corporation Integration of synchronous and asynchronous traffic on rings
US5402422A (en) 1993-03-11 1995-03-28 Zheng Liu Medium access control (MAC) protocol for single bus multimedia fair access local area network
US5614905A (en) 1994-01-25 1997-03-25 Crane; Ronald C. High speed serial digital data to analog signal converter
US5495481A (en) 1994-09-30 1996-02-27 Apple Computer, Inc. Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets
US5568476A (en) 1994-10-26 1996-10-22 3Com Corporation Method and apparatus for avoiding packet loss on a CSMA/CD-type local area network using receive-sense-based jam signal
FR2729262B1 (en) 1995-01-10 1997-04-04 Thomson Consumer Electronics INTERFACING DEVICE BETWEEN COMMUNICATION MEDIA IN A HOME AUTOMATION NETWORK
EP0751639A1 (en) 1995-06-30 1997-01-02 STMicroelectronics S.r.l. Method, transmitter and receiver for transmitting and receiving information; information broadcasting, in particular RDS (Radio Data System)
US5732086A (en) 1995-09-21 1998-03-24 International Business Machines Corporation System and method for determining the topology of a reconfigurable multi-nodal network
US5784559A (en) 1995-11-06 1998-07-21 Sun Microsystems, Inc. Full duplex flow control for ethernet networks
US5802057A (en) 1995-12-01 1998-09-01 Apple Computer, Inc. Fly-by serial bus arbitration
GB9600336D0 (en) 1996-01-09 1996-03-13 Int Computers Ltd Arbitration method and apparatus
US5850525A (en) 1996-03-29 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for adding a randomized propagation delay interval to an interframe spacing in a station accessing an ethernet network
US6065052A (en) 1996-07-01 2000-05-16 Sun Microsystems, Inc. System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes
US5838688A (en) 1996-10-11 1998-11-17 Advanced Micro Devices, Inc. Determining the number of active nudes on an ethernet network by counting a number of packet receptions
US5883894A (en) 1996-12-30 1999-03-16 3Com Corporation Shared auto-negotiation logic for multiple port network devices
US5978379A (en) 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
US6061357A (en) 1997-02-06 2000-05-09 Gte Laboratories Incorporated Ethernet to ADSL adapter
US5898801A (en) 1998-01-29 1999-04-27 Lockheed Martin Corporation Optical transport system
JP3927647B2 (en) 1997-04-21 2007-06-13 キヤノン株式会社 Information processing apparatus, information processing method, and information processing system
JP3601950B2 (en) 1997-09-16 2004-12-15 株式会社東芝 Communication device and network information presentation method
US6298406B1 (en) 1997-10-24 2001-10-02 Sony Corporation Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node
US5950203A (en) 1997-12-31 1999-09-07 Mercury Computer Systems, Inc. Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US6038234A (en) 1998-02-02 2000-03-14 Intel Corporation Early arbitration on a full duplex bus
US6411628B1 (en) 1998-02-02 2002-06-25 Intel Corporation Distributed arbitration on a full duplex bus
JPH11275122A (en) 1998-03-25 1999-10-08 Sony Corp Data transmitter
US6449283B1 (en) 1998-05-15 2002-09-10 Polytechnic University Methods and apparatus for providing a fast ring reservation arbitration
JP3277887B2 (en) 1998-06-19 2002-04-22 日本電気株式会社 Transmission / reception method, transmission / reception circuit and method for controlling transmission / reception circuit
US6366968B1 (en) 1998-06-26 2002-04-02 Intel Corporation Physical write packets processing when posted write error queue is full, with posted write error queue storing physical write requests when posted write packet fails
US6215792B1 (en) 1998-06-30 2001-04-10 Motorola, Inc. System, device, and method for initial ranging in a communication network
US6215797B1 (en) 1998-08-19 2001-04-10 Path 1 Technologies, Inc. Methods and apparatus for providing quality of service guarantees in computer networks
US6320870B1 (en) 1998-08-25 2001-11-20 Hewlett-Packard Company Method and apparatus for flow control on a switched CSMA/CD network implementing BLAM
US6370115B1 (en) 1998-09-09 2002-04-09 Stmicroelectronics, Inc. Ethernet device and method for applying back pressure
US6404751B1 (en) 1998-09-15 2002-06-11 Crisco Technology, Inc. Common control channel dynamic frequency assignment method and protocol
US6996088B1 (en) 1998-09-18 2006-02-07 Harris Corporation Distributed trunking mechanism for VHF networking
US6457081B1 (en) 1998-11-23 2002-09-24 Advanced Micro Devices, Inc. Packet protocol for reading an indeterminate number of data bytes across a computer interconnection bus
JP2000222176A (en) * 1999-02-03 2000-08-11 Mitsubishi Electric Corp Random-number generating circuit, noncontact ic card and reader/writer having same random-number generating circuit inside, and method for testing device having same random-number generating circuit inside
US6704302B2 (en) 1999-02-04 2004-03-09 Avaya Technology Corp. Port prioritizing device
EP1033855A1 (en) 1999-03-03 2000-09-06 Deutsche Thomson-Brandt Gmbh Method and apparatus for transferring data on a bus to or from a device to be controlled by said bus
GB2351884B (en) 1999-04-10 2002-07-31 Peter Strong Data transmission method
US6389501B1 (en) 1999-05-10 2002-05-14 Intel Corporation I/O peripheral device for use in a store-and-forward segment of a peripheral bus
US6496485B1 (en) 1999-06-14 2002-12-17 Hewlett-Packard Company Method of loop breaking tree indentification in a system bus hierarcy
US6580909B1 (en) * 1999-08-26 2003-06-17 International Business Machines Corporation Communications system and method based on the relative positions of mobile units
JP3843667B2 (en) 1999-10-15 2006-11-08 セイコーエプソン株式会社 Data transfer control device and electronic device
US6975324B1 (en) 1999-11-09 2005-12-13 Broadcom Corporation Video and graphics system with a video transport processor
JP2001189736A (en) 1999-12-28 2001-07-10 Fujitsu Ltd Lan interface device and method for controlling frame transmission and reception
FR2803465B1 (en) 1999-12-30 2002-02-08 Mitsubishi Electric Inf Tech METHOD FOR RANDOM ACCESS TO A RESOURCE SHARED BETWEEN MULTIPLE USERS
US6922388B1 (en) 2000-02-11 2005-07-26 Lucent Technologies Inc. Signal construction, detection and estimation for uplink timing synchronization and access control in a multi-access wireless communication system
WO2001063839A2 (en) 2000-02-23 2001-08-30 Tantivy Communications, Inc. Access probe acknowledgment with collision detection
US6956814B1 (en) 2000-02-29 2005-10-18 Worldspace Corporation Method and apparatus for mobile platform reception and synchronization in direct digital satellite broadcast system
US7002984B1 (en) 2000-03-10 2006-02-21 Cheng Alexander L Method and apparatus for parallel operation in a multiple access network
US6782436B1 (en) 2000-04-21 2004-08-24 Richard A. Baker Method and apparatus for locating devices within a network system
KR100487542B1 (en) 2000-07-29 2005-05-03 엘지전자 주식회사 Pre-arbitration Method For Global Bus
US6977919B1 (en) 2000-07-31 2005-12-20 Harington Valve Llc Method and apparatus for efficient bandwidth utilization in subscriber unit initialization and synchronization in a time-synchronized communication system
FI109839B (en) * 2000-08-22 2002-10-15 Nokia Corp A method for locating a mobile station
US7006521B2 (en) 2000-11-15 2006-02-28 Texas Instruments Inc. External bus arbitration technique for multicore DSP device
US20020101874A1 (en) 2000-11-21 2002-08-01 Whittaker G. Allan Physical layer transparent transport information encapsulation methods and systems
US6963535B2 (en) 2000-12-28 2005-11-08 Intel Corporation MAC bus interface
JP4059423B2 (en) 2001-01-12 2008-03-12 パイオニア株式会社 Data transmission system, connection recovery method, and information transmission apparatus
US7012927B2 (en) 2001-02-06 2006-03-14 Honeywell International Inc. High level message priority assignment by a plurality of message-sending nodes sharing a signal bus
US6898323B2 (en) 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
WO2002067507A2 (en) 2001-02-21 2002-08-29 Koninklijke Philips Electronics N.V. Contention resolution protocol
US6973513B1 (en) 2001-04-09 2005-12-06 3Com Corporation Method for efficient use of a transmit engine
US6970481B2 (en) 2001-04-17 2005-11-29 Microsoft Corporation Methods and systems for distributing multimedia data over heterogeneous networks
US7251222B2 (en) * 2001-05-15 2007-07-31 Motorola, Inc. Procedures for merging the mediation device protocol with a network layer protocol
US6990072B2 (en) 2001-08-14 2006-01-24 Pts Corporation Method and apparatus for arbitration scheduling with a penalty for a switch fabric
JP2003069641A (en) 2001-08-29 2003-03-07 Fujitsu Ltd Packet transfer device
EP1326463A1 (en) 2002-01-07 2003-07-09 Lucent Technologies Inc. Method and apparatus for packet transmission scheduling by performing load control functionality
US7200151B2 (en) 2002-06-28 2007-04-03 Manter Venitha L Apparatus and method for arbitrating among equal priority requests
US7187688B2 (en) 2002-06-28 2007-03-06 International Business Machines Corporation Priority arbitration mechanism
GB2391137B (en) 2002-07-19 2004-09-01 Synad Technologies Ltd Method of controlling access to a communications medium
US20040076434A1 (en) 2002-09-27 2004-04-22 Whittaker G. Allan Optical distribution network for RF and other analog signals
US7428243B2 (en) 2002-10-18 2008-09-23 Darby & Mohaine, Llc Method and system for varying data packet size for controlling bandwidth
US7170890B2 (en) 2002-12-16 2007-01-30 Zetera Corporation Electrical devices with improved communication
US7388869B2 (en) * 2002-11-19 2008-06-17 Hughes Network Systems, Llc System and method for routing among private addressing domains
WO2004102853A2 (en) 2003-05-06 2004-11-25 Overture Networks, Inc. Protected switching ring
US7523235B2 (en) 2003-06-11 2009-04-21 Lsi Corporation Serial Advanced Technology Attachment (SATA) switch
RU2333603C2 (en) 2003-08-29 2008-09-10 Самсунг Электроникс Ко., Лтд. Unit and method of control of access control level operational conditions to data transmission medium within wireless broadband communication system
JP2005129761A (en) * 2003-10-24 2005-05-19 Toshiba Corp Hole pattern forming method and method for manufacturing semiconductor
US7414977B2 (en) * 2003-11-25 2008-08-19 Mitsubishi Electric Research Laboratories, Inc. Power and delay sensitive ad-hoc communication networks
US7633912B2 (en) 2003-12-17 2009-12-15 Marvell International, Ltd. Conduit-sharing apparatus, systems, and methods
US20050190731A1 (en) 2004-03-01 2005-09-01 Yigal Bejerano Methods and devices for providing a relative level of fairness and QoS guarantees to wireless local area networks
US7477610B2 (en) 2004-03-01 2009-01-13 Alcatel-Lucent Usa Inc. Methods and devices for coordinating the transmissions of access points in WLANs
US20050243857A1 (en) 2004-04-30 2005-11-03 Padcom, Inc. Simultaneously routing data over multiple wireless networks
EP1608104B1 (en) 2004-06-15 2008-08-13 Dublin Institute of Technology A wireless probe for wireless local area networks
US20060039400A1 (en) 2004-08-23 2006-02-23 Suvhasis Mukhopadhyay Pause frame reconciliation in end-to-end and local flow control for ethernet over sonet
FI20041205A0 (en) 2004-09-16 2004-09-16 Nokia Corp Control of conference communication in a communication system
US20060067269A1 (en) 2004-09-27 2006-03-30 Enrico Jugl Method of scheduling users in wireless communication networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020018448A1 (en) * 2000-04-25 2002-02-14 Amis Alan Dewayne Clusterhead selection in wireless ad hoc networks
US20050099974A1 (en) * 2002-10-15 2005-05-12 Intech 21, Inc. Timely organized ad hoc network and protocol for timely organized ad hoc network
US20050080912A1 (en) * 2003-09-25 2005-04-14 Finn Norman W. System and method for registering and un-registering membership in virtual local area networks

Also Published As

Publication number Publication date
US20080013566A1 (en) 2008-01-17
US7792137B2 (en) 2010-09-07
WO2008005751A3 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
US7792137B2 (en) Self-organized and self-managed ad hoc communications network
EP0256463B1 (en) Improved token passing network
US6453406B1 (en) Multiprocessor system with fiber optic bus interconnect for interprocessor communications
US7793002B2 (en) Methods and apparatus for implementing a sequential synchronization hierarchy among networked devices
Arvind et al. A local area network architecture for communication in distributed real-time systems
US8806007B2 (en) Inter-node communication scheme for node status sharing
CN101432721B (en) Detection of potential forwarding loops in bridged networks
JP6129872B2 (en) Selecting a synchronization station within a peer-to-peer network environment
JPH05276175A (en) Data communication method and communication system
US7738455B2 (en) Method and system of overlapping multiple schedules for broadcast and acknowledgement collection
JP2010045800A (en) Terminal device and method for master-slave handover in media access communication system
WO2007014182A1 (en) Neighbor based tdma slot assignment
Nett et al. Reliable real-time communication in cooperative mobile applications
CN112953785B (en) Link detection method and system for communication equipment of multi-core processor
JP2008228178A (en) Radio device
Dzung et al. To transmit now or not to transmit now
CN101478826B (en) Communication scheduling method and system for wireless sensor network
US8194658B2 (en) Transmitting and receiving method and apparatus in real-time system
Raychoudhury et al. Top k-leader election in wireless ad hoc networks
Datta A fault-tolerant protocol for energy-efficient permutation routing in wireless networks
Gu et al. A fail safe broadcast protocol for collaborative intelligent vehicles
JP2006067377A (en) Information integration system of distributed network
JP4053474B2 (en) Node device and message delivery method
US9473597B2 (en) Implementing multiple MAC protocols using a single wireless communication unit
Holzer et al. Monitoring Churn in Wireless Networks

Legal Events

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

Ref document number: 07812323

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07812323

Country of ref document: EP

Kind code of ref document: A2