Abstract:
An architecture for a distributed CSMA/CD network using IEEE 802.3 protocol that is widely extended between transmitting and receiving nodes by placing some of the idle/busy/collision functions in one or more protocol control nodes which are located between the other nodes. The protocol control nodes do not perform resynchronization and are not bridge nodes, so their use does not cause any time delays. One application would be a cable TV system where the distant nodes would be the cable office node that is widely separated from a group of neighborhood local nodes. A protocol control node intermediately placed in close proximity to the local nodes provides the idle/busy/collision control functions while allowing the central office node to be located beyond the IEEE 802.3 maximum distance.

Description:
TECHNICAL FIELD 
     The invention relates to data communication over a network, and more particularly to a method and apparatus for providing two-way data communication over a network spatially distributed over many kilometers, such a cable network. 
     DESCRIPTION OF THE PRIOR ART 
     Networks, such as Local Area Networks (LANs), which use carrier sensed multiple access with collision detection (CSMA/CD) protocol are very popular for data communications. CSMA/CD protocol requires each node which has data to transmit over the network to first sense the channel for a carrier and if no carrier is sensed, begin transmitting its own carrier and data over the network. Each node transmits data in the form of packets or frames having known bit and frame time characteristics. Since, according to statistics, two or more randomly transmitting nodes will sometimes find the common channel devoid of carrier signals and begin transmitting at virtually the same time, collisions between frames do occur. Collisions are detected by checking the bit and frame timing characteristics of the received data. Typically a received frame that resulted from a collision is too short since once a collision is detected the transmitting nodes stop transmitting, usually before the end of a standard frame. Alternatively, a frame could be too long if it is made up of a partial interference and a partial concatenation of two or more different data frames. Further, a received frame could have improper signal levels and bit times caused by a collision that are sensed by a collision detector. Thus, each received frame is checked for timing characteristics and if the characteristics are not appropriate, the received frame is discarded and a re-transmit request is broadcast by the first node actively receiving the frame, e.g., a node to which the frame appears to be addressed. According to the CSMA/CD protocol, if the receiving node makes no response to a frame, that indicates that the transmitted frame was received with valid data and without a collision. That being the case, since a node obviously cannot wait forever for a re-transmit message, a response window in which the destination node must respond with a re-transmit message if a collision occurred is defined as part of CSMA/CD protocol to keep the throughput at a high level, this response window is deliberately defined to be short. According to this protocol, re-transmit messages after the predetermined response time window are ignored. Unfortunately, because signal propagation along a network has a finite characteristic propagation velocity, under the standard CSMA/CD protocol even a short response time window requirement also places a maximum distance limit between the transmitting nodes and the destination nodes of CSMA/CD networks. 
     If a distance greater than the maximum distance limit is desired, a bridge to a second network, as shown in FIG. 1 or a repeater as shown in FIG. 2 is typically used. A bridge node receives a frame bound for a distant node, buffers it and re-transmits the frame on the second LAN. A bridge node essentially receives the frame at the end of a first LAN and then re-transmits the frame on a second LAN thereby increasing the maximum distances by two. Adding further bridges extends the maximum distance even more. Each LAN must provide its own collision detection. A repeater re-synchronizes a frame as the frame travels to the destination node. A repeater node provides buffering in order to re-synchronize the bit timing and restore the bit amplitudes to each frame passing through the repeater. Repeaters will only extend the operating distance of a LAN if signal to noise ratio or attenuation is a problem, otherwise they will actually shorten the maximum operating distance. The buffering used by the bridge node and the repeater node inherently injects delay into the data communication of their respective networks. Thus, there is a need in the art for a network which has wide distances between the transmitting node and the destination node that operates according to CSMA/CD protocol which does not have the delays caused by buffering in bridge nodes and repeater nodes. 
     SUMMARY OF THE INVENTION 
     Briefly stated, in accordance with one aspect of the invention, the aforementioned problem is solved and an advance in the art is achieved by providing in a network system having a number of local nodes connected by a channel to at least one upstream node at an extended distance from the local nodes. Each upstream node receives frames, checks for collisions, and discards frames that have experienced a collision or which are not addressed to the respective upstream node. These CSMA/CD protocol functions do not have strict time limits, so these functions can be provided by each upstream node at a greater distance if an intermediate node mediately located between each local node and each upstream node provides the collision detection and related control functions of the CSMA/CD protocol within its strict time limits. Thus, the time critical control functions of the CSMA/CD protocol are physically and spatially separated from the non-time critical frame receiving and processing CSMA/CD protocol functions. With this arrangement, the intermediate node providing the time critical functions is located within the distance limitations, while each upstream node may be located either within the previous distance limitations or at an extended distance beyond the previous distance limitations. 
     In accordance with another aspect of the invention, the aforementioned problem is solved by providing a method for preventing the use of a data frame that has undergone a collision within a network having a plurality of local nodes in a widely spaced relation with an upstream node, which includes the steps of sensing for an idle status of an upstream channel by a first local node before transmitting a first data frame, sensing for an idle status of the upstream channel by a second local node before transmitting a second data frame, detecting an idle status by both the first and second local nodes and both begin transmitting their respective data frames causing a collision on said upstream channel. This collision is detected by the intermediate node monitoring the upstream channel and upon detecting the collision sending a collision control signal to each local node stopping each node before it completes the transmission of its respective data frame. The resulting data frame, which is shorter than a standard data frame because it has undergone this collision, is detected by the upstream node and discarded. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a block diagram of a prior art system having two CSMA/CD LANs connected by a bridge node. 
     FIG. 2 is a block diagram of a prior art system having a CSMA/CD LAN with a repeater node. 
     FIG. 3 is a block diagram of a network arrangement according to one embodiment of the present invention. 
     FIG. 4A is a block diagram of a network arrangement as shown in FIG. 3 that is transmitting data only in an upstream direction. 
     FIG. 4B is a block diagram of a network arrangement as shown in FIG. 3 that is transmitting data only in a downstream direction. 
     FIG. 5 is a block diagram of a network arrangement of a specific embodiment of the present invention. 
     FIG. 6 is a detailed block diagram of a local intermediate node shown in FIG. 5. 
    
    
     DETAILED DESCRIPTION 
     In FIG. 1, a known communication system 100 is shown that is made up of two individual LANs: LAN1 and LAN2. Two LANs are needed because the distance between Node --  M1 of LAN1 and Node --  L2 of LAN2 is beyond that allowed by standard CSMA/CD timing described in IEEE 802.3 standard, which is hereby incorporated by reference. Thus, two LANs connected by a bridge node 108 are used to connect the distant nodes. If two are not enough, multiples beyond two could be used. Bridge node 108 is actually two nodes, Node --  N1 of LAN1 and Node --  N2 of LAN2 connected together. Frames from a node on LAN1 which have a destination node on LAN2 are received by the Node --  N1 and then transferred to Node --  N2 for transmission on LAN2. Node --  N2 must provide all of the CSMA/CD protocol for the frame to be transmitted on LAN2. As can be appreciated, bridge node 108 is fairly complex and necessarily inserts a time delay since each frame must be re-transmitted with full CSMA/CD protocol onto LAN2. 
     In FIG. 2, a simplified representation of a known communication system 200, which has a LAN --  1 in which a frame from Node --  L to Node --  M must go through repeater node, Node --  R. A more complicated repeater system is shown in U.S. Pat. No. 4,825,435. Repeater node Node --  R resynchronizes the data within a packet and does some amplitude and other waveshaping, so frames can travel to their distance limit, but repeater node Node --  R does not provide any new procedure or mechanism for extending the distance between nodes beyond the IEEE 802.3 single LAN limits. So at best the repeater provides operation to the maximum distance of a single LAN, but because a small time delay is involved, the result is actually just a little short of the maximum LAN distance. 
     Referring now to FIG. 3, a network system 300 is shown. Network system 300 has a local cluster 302 and a central office cluster 304 connected by a full duplex communication path 306. Communication path 306 may be longer than the maximum distance between transmitting and receiving nodes for CSMA/CD as set by IEEE 802.3 because of the operation of intermediate node 308 of local cluster 302 and intermediate node 310 of central office cluster 304 according to the present invention. 
     Local cluster 302 contains a number of local nodes 320 1  -320 N . Each local node 320.sub. -320 N  is connected by a respective line of lines 322 1  -322 N  to a respective terminal 321 1  -321 N , which may be a computer or it maybe a set to box. Lines 322 1  -322 N  are bi-directional because computers and set to boxes typically are interactive units communicating data and/or messages to and from an upstream unit, such as an internet server or an asynchronous transfer mode server in central office cluster 304. 
     Each of the local nodes 320 1  -320 N  is connected to intermediate node 308 by a respective multi-channel line 324 1  -324 N . Each of the multi-channel lines 324 1  -324 N  may be multi-conductor, electrical or optical, or may be a single conductor with frequency division channels. If frequency division channels are used, then a receive and/or transmit function to demodulate and/or modulate IEEE 802.3 compatible frames must be respectively provided at each end of lines 324 1  -324 N . Each local node 320 1  -320 N  has a transmit portion that is connected by a uni-directional channel of its respective line 324 1  -324 N  to monitoring portion of local intermediate node 308. Monitoring portion of local intermediate node 308 receives all the frames transmitted upstream from the local nodes 320 1  -320 N . These upstream frames are summed at local intermediate node 308 and the resulting signal propagates upstream to communication path 306. Communication path 306, like lines 324 1  -324 N , is a multi-channel path which may be realized by a multi-conductor cable, electrical or optical, or by frequency division multiplexed channels on a single conductor cable, electrical or optical. Communication path 306, also like lines 324 1  -324 N , has a uni-directional upstream channel. The upstream frames are also monitored by intermediate node 308 to determine if a collision between frames from two or more local nodes 320 1-1  -320 N-L  have collided. A collision of upstream frames at intermediate node 308 will remain a collision as it propagates along communication path 306 and as it reaches central office cluster 304. Some of the frames traveling along different lines 324 1  -324 N  will be isolated from each other until they reach intermediate node 308, where the collision occurs. Any collision that is detected is reported on a control channel, which is a narrow band, independent channel connected between intermediate node 308 and local nodes 320 1-1  -320 N-L  as part of lines 324 1  -324 N . This channel reports the idle/busy/collision status of the upstream channel according to IEEE 802.3 protocol. Intermediate node 308 improves collision recovery time and maintains IEEE 802.3 CSMA/CD protocol for collisions by monitoring and reporting the collision instead of the distantly located nodes of the central office cluster 304. 
     Since the upstream path which upstream frames follow is uni-directional, the only collisions that are possible along the upstream path are collisions between frames from local nodes 320 1-1  -320 N-L . This also means that local nodes 320 1-1  -320 N-L  cannot communicate to each other via the connections shown in FIG. 3, which is why network 300 is not technically a LAN, even though cluster-to-cluster packet communications according to IEEE 802.3 are provided thereby. 
     Central office cluster 304 is very similar to that of local cluster 302. Central office cluster 304 has an intermediate node 310 which is functionally the same as intermediate node 308. Intermediate node 310 is connected to central office units 330 1  -330 P  by lines 332 1  -332 P . Each of lines 332 1  -332 P  is a multi-channel line which has a unidirectional upstream channel and a narrow band, bi-directional control channel. Each of the lines 332 1  -332 P  may use multi-conductors or frequency division multiplexing to provide the multi-channel. For the case of upstream frames, intermediate node 310 is a fanout point to convey the upstream packets from communication path 306 to the units 330 1  -330 P . Intermediate node 310 may do transparent functions, such as conversion from optical to electrical signaling, but otherwise does not perform IEEE 802.3 CSMA/CD type of protocol monitoring of the upstream frames. Each of the units 330 1  -330 P  has a central office node 331 1  -331 P  which for upstream frames provides standard CSMA/CD protocol processing. One of the important functions that each central office node 331 1  -331 P  provides is monitoring of its received frames. If a received frame, i.e. one that was both communicated and addressed to a central office node, has undergone a collision, the frame is discarded as void. No collision or re-transmit message is sent, because the collision of these frames should have been determined earlier at local intermediate node 308 and a collision and/or re-transmit message sent then. So, each central office node 331 1  -331 P  will only accept upstream frames that have not undergone collisions and that are addressed to its respective unit 330 1  -330 P  with either an exclusive or a multicast/broadcast address. 
     FIG. 4A illustrates the upstream operating portion 400A of the network 300 of FIG. 3. The main differences are the directionality and the number of channels involved in the upstream function. For upstream frames, communication channel 306 in FIG. 3, becomes a unidirectional communication path 306A. Also lines 332A 1  -332A P  are single channel, uni-directional lines because the control channel is not used within the central office cluster 304A for receiving and processing upstream directed frames. 
     FIG. 4B illustrates the downstream operating portion 400B of the network 300 of FIG. 3. The downstream operating portion 400B has central office nodes 331 1  -331 P  of units 330 1  -330 P  connected by lines 332B 1  -332B P  to intermediate node 310. Each of lines 332B 1  -332B P  contains a uni-directional channel connecting its respective central office node 331 1  -331 P  to communicate frames using IEEE 802.3 CSMA/CD protocol to node 310, communication path 306B and local cluster 302B. Each of lines 332B 1  -332B P  also contains a narrowband control channel connected between busy/idle/collision status port of the intermediate node 310 and respective central office node 331 1  -331 P  so that busy/idle/collision status information is shared among all nodes within central office cluster 304B. For downstream frames, communication channel 306 in FIG. 3, becomes a unidirectional communication path 306B. Also lines 324B 1  -324B N  are single channel, uni-directional lines because the control channel is not used within the local cluster 302B for receiving and processing downstream directed frames. For downstream frames, intermediate node 308 is a fanout point to convey the downstream frames from communication path 306B to the local nodes 320 1-1  -320 N-L . Intermediate node 308 may do transparent functions, such as conversion from optical to electrical signaling, but otherwise does not perform IEEE 802.3 CSMA/CD type of protocol monitoring of the downstream frames. Instead, each of the local nodes 320 1-1  -320 N-L  provides partial standard CSMA/CD protocol processing for downstream directed frames. One of the important protocol functions that each local node 320 1-1  -320 N-L  provides is monitoring of its received frames. If a received frame, e.g., one that was both communicated and addressed to a local node, has undergone a collision, that frame is discarded as void. No collision or re-transmit message is sent, because the collision of these frames should have been determined earlier at central office intermediate node 310 and a collision and/or re-transmit message sent then. So, each local node 320 1-1  -320 N-L  will only accept downstream frames which have not undergone collisions and which are addressed to its respective local node 320 1-1  -320 N-L  with either an exclusive or a multicast/broadcast address. An alternative embodiment of the invention is one in which the number of units 330 1  -330 P  is one. For such an embodiment, collisions on the unidirectional downstream channel are not possible, so collision detection by the receiving portion of local nodes 320 1-1  -320 N-L  is not needed. Such an embodiment will be described below. 
     Referring now to FIG. 5, a communication system 500 according to one embodiment of the present invention is shown. The communication system 500 has a local cluster 502 and a central office unit 530 connected by communication path 506. Communication path 506 consists of two uni-directional channels carried by one or more optical fibers. Preferably, each uni-directional channel is separated from the other uni-directional channel by frequency division multiplexing techniques. 
     Central office unit 530 is very similar to central office units 330 1  -330 P  shown in FIG. 3, however, since the communication system 500 has only one central office unit 530, a few simplifications have been made. Since collisions are impossible on the downstream uni-directional channel with only one unit, central office unit 530, an intermediate node, such as intermediate node 310 of FIG. 3, is not needed. Further, since collisions on the downstream channel are impossible, monitoring of the channel for idle/busy collision status and control of IEEE 802.3 frames to avoid collisions by central office unit 530 is not necessary. Central office unit 530 may seize the downstream channel and start sending data whenever the need arises. This means the design of central office node 532 for downstream directed frames can be greatly simplified with respect to CSMA/CD protocol. 
     Local cluster 502 is somewhat more complex than the local cluster 302 shown in FIG. 3. Local cluster 502 is connected to communication path 506 at intermediate node 508. Intermediate node 508 is also connected to lines 524 1  -524 N . Each of the N lines 524 1  -524 N  is connected to a number L of local nodes 540-1 1  to 540-1 L , to 540-N 1  to 540-N L  for a total of N×L local nodes. Further, each local node 540-1 1  to 540-N L  is connected to a respective terminal 542-1 1  to 542-N L , which may be a personal computer or similar device. Each terminal 542-1 1  to 542-N L  communicates with its respective local node 540-1 1  to 540-N L  using an IEEE 802.3 protocol known as 10BaseT. Embodiments with the number of lines N=1 with the number of local nodes L=120, and with the number of lines N=4 with the number of local nodes per line L=120 are contemplated, and these are given by way of example, not limitation. The terminals 542-1 1  to 542-N L  by way of their respective local nodes 540-1 1  to 540-N L  statistically share the intermediate node 508. 
     Referring now to FIG. 6, intermediate node 508 is shown in greater detail. Intermediate node 508 provides a number of functions: combining and transmitting upstream frames from local nodes 540-1 1  -540-N L  to an upstream channel of communication path 506, monitoring those upstream frames for collisions as the N data lines 524 1  -524 N  are combined into a single upstream channel of communication path 506, monitoring for busy and idle conditions on the N lines 524 1  -524 N , transmitting status data on a status channel, and receiving downstream frames on a downstream channel and fanning these frames out to each of the N lines 524 2  -524 N . 
     The N lines, 524 1  -524 N , carry multiple data channels. A low frequency channel, which is a 6.4 megabits per second channel that is an upstream channel, a high frequency channel, which is a 10 megabit per second channel that is a downstream channel, and one high frequency, narrowband channel for carrying the status information. The 6.4 megabit per second upstream channel is statistically shared using CSMA/CD techniques by the N×L terminals 542-1 1  to 542-N L , which in the preferred embodiment is located at N×L individual private homes, would carry the data frames to the central office unit 530 (shown in FIG. 5). In intermediate node 508, the lines 524 1  to 524 N  are connected to low frequency band pass filters 605 1  -605 N  which filter the incoming data packets and communicate them to combiner 607 and status monitor 609 in parallel. Each of the lines 524 1  to 524 N  has an individual input to combiner 607 and to monitor 609. The output of the combiner 607 is a sum signal which is connected to transmitting portion of transceiver 615. Transceiver 615 provides a radio frequency to optical frequency conversion and transmits the upstream signals over optical channel 506U. It is worth noting that an upstream data frame does not have to be valid in order to go through combiner 607 or transceiver 615. As a matter of fact, it is contemplated that some of the data frames which pass through combiner 607 and transceiver 615 will have experienced a collision of some type, either between two nodes on the same line of lines 524 1  to 524 N , on different lines of 524 1  to 524 N , or both. Managing such collisions is the responsibility of the local nodes 540-1 1  -540-N L  and monitor 609, as described below. 
     Monitor 609 has its inputs connected in parallel with the inputs of combiner 607 such that monitor 609 receives the same input data packets from lines 524 1  to 524 N  and through low band pass filters 605 1  -605 N  that combiner 607 receives. Monitor 609 filters these inputs with individual bandpass filters F 1  -F N  for the upstream channel frequency band, which are in addition to the low band pass filters 605 1  -605 N . Input filters F 1  -F N  remove noise that may have resulted from external sources or collisions of data frames. After the input filters F 1  -F N , the inputs are combined by a combiner 616. The output of combiner 616 is connected to status monitoring device 617. Status monitoring device 617 monitors the combined inputs of all the upstream lines 524 1  to 524 N  to determine one of three states for the upstream data channel: idle, busy or collision. With these three states, a media access protocol for the upstream data channel is provided that is an IEEE 802.3-like CSMA/CD protocol. Since upstream lines 524 1  -524 N  are isolated from each other until intermediate node 508, collisions between frames on different lines 524 1  -524 N  are determined at intermediate node 508 and the collision status signaled by the status control channel(s). This same isolation makes monitoring and reporting the &#34;busy&#34; status on the status control channel(s) an important function of intermediate node 508 also. Then the status of the upstream data channel as determined by the status monitoring device 617 is reported on one or more narrowband control channel(s) using signaling techniques mentioned previously. This narrowband control channel(s) connect(s) to the downstream data channel at combiner 618 and becomes a frequency division multiplexed part of the downstream channel thereafter. 
     To implement the narrowband status control channel status reporting, the status monitoring device 617 outputs one narrow band, high frequency control channel with data sequences 00 . . . 00 to denote a busy upstream channel status, 11 . . . 11 to denote a collision upstream channel status, and NO SIGNAL condition to denote an idle upstream channel status. Alternatively, monitoring device 617 outputs two narrow band, high frequency control channels: the first will have CARRIER OFF if the upstream channel has an idle status and CARRIER ON if the upstream channel has a busy status, and the second will have CARRIER ON if the upstream channel has a collision status and CARRIER OFF if the upstream channel has a no collision status. 
     Referring now to FIGS. 5 and 6, each of the local nodes 540-1 1  to 540-N L  when accessing the upstream data channel examines the status control channel(s). If the upstream data channel is idle, a local node, for example local node 540-1 L , with data for the central office unit 530 will start transmitting a frame of data. During transmission, the transmitting local node 540-1 L , continuously monitors the status of the upstream data channel by monitoring line 524 L  to which it is connected and the status control channel(s). If a collision is detected during the collision window of the local cluster 502, local node 540-1 L  and any other local node transmitting at the time of the collision will follow standard IEEE 802.3 protocol, which means it will stop transmitting its frame and execute a binary back off algorithm before trying a re-transmission. 
     Consider, for example, if the two most distant local nodes are located less than 4 kilometers from the intermediate node 508, a maximum delay between the respective local nodes and the intermediate node 508 of less than 20 micro seconds may be achieved. The collision window for this case is less than 80 micro seconds. Hence, if the collision window is less than 80 micro seconds, the invalid frames resulting from any collision and received upstream at central office unit 530, which may be more than 80 micro seconds round trip away because of the present invention, will have less than 64 bytes and will be discarded as required by IEEE 802.3. This timing result may be calculated by noting that if the 6.4 mega bit per second upstream data channel transmits for less than 80 microseconds, the resulting frame is less than 64 bytes long. As shown by: ##EQU1## 
     When a local node, for example again local node 540-1 L , has data for the central office unit 530, the local node first examines the status control channel and if it says the status of the upstream data channel is busy, then the local node 540-1 L  follows IEEE 802.3 protocol. After finding the status of the upstream data channel to be busy, local node 540-1 L , monitors the status control channel(s) to determine when the upstream data channel again becomes idle. The status of the upstream data channel is indicated to be idle, local node 540-1 L  begins to transmit a frame of data on the upstream data channel. Local node 540-1 L  continuously monitors its local line 524 L  the status control channel(s) for any collision status indication. If a collision is indicated during the transmission of the frame of data by local node 540-1 L , the collision indication will cause local node 540-1 L , and any other local node transmitting at the time, to follow standard IEEE 802.3 protocol by stopping the transmission of the present frame and executing a binary back off algorithm before trying a re-transmission, as described previously. 
     The downstream data channel carries data frames from central office unit 530. The central office unit 530 formats a data frame that is directed to a specific terminal of terminals 542-1 1  -542-N L , with a destination address for that terminal. Alternatively, data may be sent to a terminal or group of terminals by formatting the data frame with a multicast/broadcast address which each terminal in the group can receive. As the downstream data enters intermediate node 508, it is received by transmitter 615, and communicated to high pass filter 619. High pass filter 619 filters out any noise below the frequency of the downstream data channel at this point and communicated to combiner 618. As mentioned previously, combiner 618 combines the downstream data from central office unit 530 with the status control channel(s) of local cluster 502. From the combiner 618, the downstream data channel and the status control channel(s) are communicated to a launch amplifier which amplifies these channels and drives their data through high band pass filters 623 1  -623 N  to lines 524 1  -524 N . Local nodes 540-1 1  -540-N L  and their respective terminals 542-1 1  -542-N L  respond to the downstream data frames according to IEEE 802.3 protocol in order to receive the data from central office unit 530. 
     Thus, it will now be understood that there has been disclosed a new method and apparatus for providing full duplex communications over a network. While the invention has been particularly illustrated and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form, details, and applications may be made therein. For example, the terminals could be home computers and/or set top boxes for receiving data from the central office unit, and the central office unit could serve as a router for access to systems providing internet protocol or asynchronous transfer mode protocol services. It is accordingly intended that the appended claims shall cover all such changes in form, details and applications which do not depart from the true spirit and scope of the invention.