USRE36353E - Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture - Google Patents

Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture Download PDF

Info

Publication number
USRE36353E
USRE36353E US08/899,511 US89951197A USRE36353E US RE36353 E USRE36353 E US RE36353E US 89951197 A US89951197 A US 89951197A US RE36353 E USRE36353 E US RE36353E
Authority
US
United States
Prior art keywords
node
channel
backoff
iaddend
iadd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/899,511
Inventor
Henry Sho-Che Yang
Kadangode K. Ramakrishnan
Anthony G. Lauck
William R. Hawe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Enterasys Networks Inc
Original Assignee
Cabletron Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/263,698 external-priority patent/US5436903A/en
Application filed by Cabletron Systems Inc filed Critical Cabletron Systems Inc
Priority to US08/899,511 priority Critical patent/USRE36353E/en
Assigned to CABLETRON SYSTEMS, INC. reassignment CABLETRON SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DIGITAL EQUIPMENT CORPORATION
Application granted granted Critical
Publication of USRE36353E publication Critical patent/USRE36353E/en
Assigned to ENTERASYS NETWORKS, INC. reassignment ENTERASYS NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CABLETRON SYSTEMS, INC.
Assigned to OBSIDIAN, LLC, WELLS FARGO FOOTHILL, INC. reassignment OBSIDIAN, LLC SECURITY AGREEMENT Assignors: ENTERASYS NETWORKS, INC.
Assigned to WELLS FARGO TRUST CORPORATION LIMITED, AS SECURITY AGENT reassignment WELLS FARGO TRUST CORPORATION LIMITED, AS SECURITY AGENT GRANT OF SECURITY INTEREST IN U.S. PATENTS Assignors: ENTERASYS NETWORKS INC.
Assigned to ENTERASYS NETWORKS, INC. reassignment ENTERASYS NETWORKS, INC. RELEASE AND REASSIGNMENT OF PATENTS AND PATENT APPLICATIONS AT REEL/FRAME NO. 17656/0552 Assignors: ENTERPRISE COMMUNICATIONS FUNDING GMBH, AS SUCCESSOR IN INTEREST TO OBSIDIAN, LLC, WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.)
Anticipated expiration legal-status Critical
Assigned to ENTERASYS NETWORKS INC. reassignment ENTERASYS NETWORKS INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 25339/0875 Assignors: WELLS FARGO TRUST CORPORATION LIMITED
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)

Definitions

  • Ethernet is a commonly used name for a LAN that uses a network access protocol referred to as Carrier Sense Multiple Access with Collision Detection (CSMA/CD).
  • CSMA/CD Carrier Sense Multiple Access with Collision Detection
  • the CSMA/CD protocol is defined in ANSI/IEEE Std 802.3, published by the Institute of Electrical and Electronics Engineers, Inc., 345 East 45th Street, New York, N.Y. 10017, and referred to in this specification as "the IEEE 802.3 standard.”
  • the standard is for a 10 Mbps (megabits/sec) CSMA/CD channel, but it will be understood that the present invention may also be applicable to a 100 Mbps channel.
  • any node or station wishing to transmit must first "listen” to make sure that the channel is clear before beginning to transmit. All nodes on the network have equal priority of access and may begin transmitting as soon as the channel is clear and a required inter-packet delay of 9.6 ⁇ s (microseconds) has elapsed. However, if a first node that has started transmitting detects a "collision" with a transmission from another node, the first node continues transmitting for a short time to make sure that all nodes wishing to transmit will detect the collision. Every other node detecting the collision also continues to transmit for a short time.
  • each node that has detected a collision terminates transmission of the packet or frame.
  • the nodes involved in the collision wait for the required interpacket delay of 9.6 ⁇ s and then select random, and therefore usually different, delay times, referred to as backoff times, before trying transmission of the same packet again.
  • the IEEE 802.3 standard defines a collision backoff procedure referred to as "truncated binary exponential backoff.”
  • truncated binary exponential backoff When a transmission attempt has terminated due to a collision, it is retried by the transmitting node, after a selected backoff time, until either the transmission is successful or a maximum number of attempts have been made and all have terminated due to collisions.
  • the backoff time is selected by each node as an integral multiple of the "slot time,” which is the maximum round-trip propagation time for the network, i.e. the time to propagate a data packet from one end of the network to the other, and back.
  • the slot time defined by the IEEE 802.3 standard is 51.2 ⁇ s.
  • the number of slot times selected as the backoff time before the nth retransmission is chosen as a randomly distributed integer r in the range:
  • the backoff time is selected as 0 or 1 slot times
  • the backoff time is selected as 0, 1, 2 or 3 slot times
  • the backoff time is selected as 0, 1, 2, 3, 4, 5, 6 or 7 slot times, and so forth.
  • the maximum backoff time, for the tenth attempted retransmission may be up to 2 10 -1, or 1,023 slot times, i.e. 52.4 ms.
  • the IEEE 802.3 standard is designed to achieve optimal performance, in throughput, latency and fairness, when the number of nodes in the network is relatively large.
  • the number of active nodes i.e. nodes having data packets to transmit
  • the IEEE 802.3 standard exhibits an undesirable effect referred to as the capture effect, in which one of the nodes may effectively capture the channel and transmit a succession of data packets in a back-to-back fashion for a relatively long period of time.
  • the capture effect is best understood from a simple example.
  • nodes A and B there are two active nodes, A and B, in a network and they begin transmitting at approximately the same time, resulting in a first collision. They each select backoff times of 0 or 1 slot time, in accordance with the standard backoff algorithm. Suppose further that node A selects zero backoff time and node B selects one slot time as its backoff time. Obviously, node A will be able to successfully transmit on its first attempt at retransmission. Node B will wait a full slot time before making its first retransmission attempt, but by this time node A has started transmitting a second data packet, i.e. node A is transmitting successive packets back-to-back, with only the required interpacket gap (IPG) separating them.
  • IPG interpacket gap
  • Node B experiences a second collision on its first data packet, but for node A it is still a "first" collision for trying to transmit a second data packet
  • node A selects a backoff of 0 or 1 slot time, but node B selects a backoff of 0, 1, 2 or 3 slot times. Therefore, node B has only one chance in eight of winning access to the channel (if node B chooses 0 and node A chooses 1). Node A, however, has five chances in eight of winning channel access. (Two of the eight possibilities will result in another collision.) Clearly, it is more probable, actually five times more probable, that node A will retain access to the channel, as compared with node B.
  • node A If the probable occurs, and node A transmits its second data packet,the situation becomes progressively more difficult for node B to transmit. If another collision occurs on node B's next attempt to retransmit, this will be node B's third attempt, but node A's "first" again. Node A's backoff is still 0 or 1 slot time, but node B's is selected from 0 through 7 slot times. Node A is then thirteen times as likely to win access to the channel on the next attempted retransmission. For the nth attempt at retransmission by node B, node A will be (2 n -3) times more likely to win access to the channel. For the maximum value of n, i.e. 10, the unfairness factor between the two active nodes will be 2 10 -3, or 1,021.
  • node A captures the channel and is sending successive packets to node B, node B may be unable to acknowledge even the first received packet. Node A will eventually have to give up the channel to allow acknowledgements to flow back from node B, but this is an inefficient process and channel utilization goes down.
  • the present invention resides in a technique that modifies the standard backoff approach in the event that a channel capture condition is detected.
  • the basic method of the invention is for use in a node of a network employing a Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol to control channel access.
  • CSMA/CD Carrier Sense Multiple Access with Collision Detection
  • the method comprises the steps of sensing when a node has captured the channel by successfully transmitting a first data packet and beginning to transmit a second data packet without relinquishing the channel to another node, then, after sensing capture of the channel, sensing a collision between the second packet transmission and a transmission by another node; after sensing a collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, and finally, potentially using a stopped backoff algorithm during the backoff period.
  • the less aggressive backoff time selected for a node that has captured the channel gives a node that has not captured the channel at least one transmission opportunity that it would not otherwise have.
  • a first method of implementing the invention comprises the steps of sensing when a node has captured the channel, then, after sensing capture of the channel, sensing a collision between a second packet transmission and a transmission by a different node on the network, and, after sensing the collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, then, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, halting the backoff timer during any period in which the channel is not idle, and finally, attempting retransmission when the backoff timer expires.
  • a second method of implementing the invention comprises the steps of sensing when the node has captured the channel, then, after sensing capture of the channel, sensing a collision between a second packet transmission and a transmission by a different node on the network, after sensing the collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, then, determining if the node is waiting a first backoff time for a first retransmission attempt, and, in response to a determination that the node is waiting a first backoff time, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle, and, in response to a determination that the node is not waiting a first backoff time, operating the backoff timer, and finally, attempting retransmission when the backoff
  • the step of monitoring the channel for activity from a different node in either implementation further comprises recognizing when a different node is transmitting on the channel, recognizing when a collision is occurring on the channel, and recognizing when a different node is transmitting or a collision is occurring on the channel.
  • a node may use the invention for all packet transactions on a channel, or for selected packet transactions only.
  • a selective implementation of the invention includes the additional steps of examining the contents of a data field in a packet which requires retransmission in order to determine whether a special backoff algorithm should be used for the packet, and, in response to a determination that the special backoff algorithm should be used, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, and wherein the backoff time before a second retransmission attempt is selected to be actually or potentially shorter than if the node had not captured the channel, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle, and, in response to a determination that the special backoff algorithm should not be used, operating a backoff timer,
  • the invention may also be defined in terms of an apparatus, comprising means for sensing when the node has captured the channel, means for, after sensing capture of the channel, sensing a collision between a second packet transmission and a transmission by a different node on the network, means for, in response to sensing the collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, means for monitoring the channel for activity from a different node on the network, a backoff timer, means for operating the backoff timer when the channel is idle, means for halting the backoff timer during any period in which the channel is not idle, and means for attempting retransmission when the backoff timer expires.
  • a second apparatus embodying the invention also includes means for determining if the node is waiting a first backoff time for a first retransmission attempt, means for, in response to a determination that the node is waiting a first backoff time, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle, means for, in response to a determination that the node is not waiting a first backoff time, operating a backoff timer, and means for attempting retransmission when the backoff timer expires.
  • the present invention represents a significant advance in the field of local area networks of the Ethernet or IEEE 802.3 type.
  • the invention improves fairness of channel access in networks with small numbers of active nodes, since these configurations are most prone to unfairness caused by channel capture.
  • Other aspects and advantages of the invention will become apparent from the following more detailed description, taken in conjunction with the accompanying drawings.
  • FIG. 1 is a diagram showing the principles of collision detection in a CSMA/CD LAN.
  • FIG. 2 is a flowchart showing the principles of a first and preferred embodiment of the present invention.
  • FIG. 3 is a flowchart showing the principles of a second embodiment of the present invention.
  • FIG. 4 is a flowchart showing the principles of a fourth embodiment of the present invention.
  • FIG. 5 is a diagram of the contents of a packet transmitted on a channel.
  • the present invention is concerned with an improved technique for randomly selecting backoff times in a LAN that uses a network access protocol referred to as Carrier Sense Multiple Access with Collision Detection (CSMA/CD).
  • CSMA/CD Carrier Sense Multiple Access with Collision Detection
  • any node wishing to transmit must first "listen” to make sure that the channel is idle before beginning to transmit. All nodes on the network have equal priority of access and may begin transmitting as soon as the channel is idle and a required interpacket delay has elapsed.
  • FIG. 1 is a graphical diagram that is useful in visualizing channel access concepts in a LAN of the Ethernet or IEEE 802.3 standard type.
  • the horizontal axis of the diagram represents distance along the channel from a first node S 1 on the left-hand side to an nth node S n on the right-hand side.
  • the vertical axis represents time.
  • the area designated Packet #1 represents the transmission of a data packet by node S 1 onto the channel.
  • the vertical dimension of this area indicates that the packet takes a certain time for S 1 to transmit it.
  • the downward slope of the area is consistent with the propagation delay associated with the packet as it is transmitted along the channel.
  • node S n receives the packet some time after it was transmitted.
  • node S 1 After transmitting Packet #1, node S 1 waits for a required interpacket gap (IPG) time, which the standard defines as 9.6 ⁇ s, and if no other channel activity is detected, begins transmitting another packet, as indicated by the area "Packet #2.” This is a back-to-back transmission of successive data packets, and thus far it has been assumed that there was no competition for access to the channel.
  • IPG interpacket gap
  • FIG. 1 shows the effect of practically simultaneous transmission attempts from nodes S 1 and S n .
  • Transmission of Packets #3 and #4 were both started after the transmitting nodes detected an idle channel.
  • the packets collide in mid-channel, as indicated diagrammatically in FIG. 1, and an indication of the collision is provided to the transmitting nodes, and to all the other nodes, as indicated by the broken lines in the figure.
  • the time for node S 1 to learn of the collision is the round-trip propagation time from the transmitting node to the collision point, and back.
  • the collision point may be almost at the other end of the channel, adjacent to node S n .
  • the delay in learning of the collision would be the round-trip propagation time from one end of the channel to the other. This time is referred to as one slot time, and is defined by the IEEE 802.3 standard as a maximum of 51.2 ⁇ s.
  • each active node defers its next attempt to transmit by a random time that is an integral multiple r of the slot time. Specifically, for the nth attempt at retransmission r is chosen from the range:
  • the backoff time is selected from the following ranges of times, depending on how many retransmission attempts have been made:
  • the standard backoff algorithm is designed to achieve optimal performance, in throughput, latency and fairness, when the number of nodes in the network is relatively large.
  • the number of active nodes i.e. nodes having data packets to transmit
  • the IEEE 802.3 standard exhibits an undesirable effect referred to as the capture effect, in which one of the nodes may effectively capture the channel and transmit a succession of data packets in a back-to-back fashion for a relatively long period of time.
  • the capture effect arises because the range of backoff times increases exponentially with the number of retransmission attempts. If one of two active nodes loses channel access, the losing node has a progressively decreasing probability of gaining access so long as the other node continues to transmit back-to-back packets.
  • a node when a node senses that it has captured the channel, after the next collision it selects a backoff time that is less aggressive (i.e. tends to be longer) than the backoff time designated by the standard backoff algorithm. This provides an increased opportunity for another node to gain access to the channel, and results in improved performance when there are only two active nodes, or in networks having a small number of nodes.
  • the selection of backoff times for a node in the capture condition may be made in accordance with one of several different specific approaches.
  • a common feature of the approaches is that each provides for a less aggressive (i.e. potentially or definitely longer) backoff time for the first retransmission attempt by a node that has captured the channel. Three examples are provided below.
  • a backoff of 0 slot times is selected.
  • a backoff of r slot times is selected for a node that has captured the channel, where r in this case is in the range 0 ⁇ r ⁇ 4.
  • a backoff of r slot times is selected, where r in this case is in the range 0 ⁇ r ⁇ 2.
  • a backoff of 4 slot times is always selected for a node that has captured the channel.
  • n>1 second or subsequent retransmission attempt
  • the standard backoff time of r slot times is selected, where r is in the range:
  • the average of the fist two backoff times is higher than the average for the standard algorithm.
  • this approach provides for a relatively long backoff as soon as the capture condition is detected, followed by an immediate return to the standard approach.
  • node A there are two active nodes, A and B, in a network and node A has determined it has captured the channel.
  • Node B begins to transmit, and a collision occurs.
  • node A will select backoff time of 2.
  • node B using the standard algorithm, selects a zero backoff time. Obviously, node B will be able to successfully transmit on its first attempt at retransmission. After node B has successfully transmitted, both node A and node B will again simultaneously transmit a packet because again, each node has an infinite number packets to transmit.
  • node B will determine it has captured the channel because it has successfully transmitted a packet and is now transmitting another packet without having received a packet or fragment of a packet since the successful transmission.
  • Node A on the other hand, will clear any indication that it has captured the channel. With this second simultaneous transmission, a second collision will occur.
  • node B which has captured the channel, will select a backoff time of 2.
  • node A selects a backoff of zero. Node A will successfully transmit a packet upon its retransmission attempt, and the whole cycle outlined in this example will begin again. The two nodes will take turns successfully transmitting a packet, but for each packet transmitted there will be a collision.
  • a stopped backoff algorithm alleviates this undesirable characteristic.
  • a node delays its retransmission attempt depending on channel activity.
  • the stopped backoff algorithm requires a node to stop its backoff timer when it detects that the channel is busy, e.g. when the receive carrier or collision signal is active.
  • Stopped backoff algorithms have been used in LANs having a large number of nodes.
  • the original motivation for stopped backoff algorithms arose because of the following situation: a collision occurs involving n nodes.
  • One of the nodes or even a different node, say node X gains access to the network and initiates a long data transfer.
  • many or all the n nodes involved in the collision may complete their backoff waiting period and attempt a retransmission immediately following node X's long transfer, leading to another multi-node collision.
  • Stopped backoff algorithms reduce the occurrence of end-of-transmission collisions by forcing the nodes on the network to wait a random amount of time from the end of node X's transmission before attempting a retransmission.
  • a stopped backoff algorithm was introduced by Madhay Marathe in a paper submitted to the IEEE entitled, "Design Analysis of a Local Area Network", 1980. (Citation?).
  • a second stopped backoff algorithm used in IEEE 802.3 compliant products, works as follows: while a node is in a backoff state following a collision, it stops its backoff timer when it detects channel activity on its receive carrier or collision signal inputs. The running of the backoff timer is resumed when the channel becomes idle.
  • the improved feature of the present invention may be implemented in different ways. Two methods are described, the first of which represents the preferred embodiment of the present invention.
  • the node uses one of the special backoff algorithms described above in Examples 1, 2 or 3 to select a backoff time. Only after a first collision and corresponding first retransmission attempt backoff time, the node it halts its backoff timer during any period in which the channel is busy, e.g. when the node detects activity on its receive carrier or collision signal. The backoff timer is continued, without being reset, when the channel becomes idle. For any collision after the first collision, the node uses one of the special backoff algorithms without a stopped backoff algorithm.
  • the node uses one of the special backoff algorithms described above in Examples 1, 2 or 3 to select a backoff time. For any collision and its corresponding retransmission attempt backoff time, the node halts its backoff timer during any period in which the channel is busy, e.g. when the node detects activity on its receive carrier or collision signal. The backoff timer is continued, without being reset, when the channel becomes idle.
  • channel capture is defined to have occurred when a node begins transmitting a data packet without having received a packet, or a fragment of a packet, from the network since the node's transmission of a prior packet.
  • the subsequent packet transmission may occur immediately upon the expiration of a required inter-packet gap (IPG) following the transmission of the prior packet, or may occur at some later time following transmission of the prior packet.
  • IPG inter-packet gap
  • An alternative approach to testing for channel capture is to require back-to-back transmissions by a node before the node is declared to have captured the channel. Therefore, channel capture will be detected upon beginning transmission of a second packet immediately after transmitting a first packet and waiting for the required interpacket gap. Although this approach is satisfactory, it results in a delay in the application of the invention for a network with a larger number of nodes. When two nodes are competing for channel access, a number of collisions may be needed before one node gains access and is subsequently declared to have captured the channel. In the preferred approach to declaring channel capture, at any instant in time one of two active nodes on the network will always be considered to have captured the channel, even though there may be intervening idle periods. Therefore, on the occurrence of a first collision the node that has captured the channel immediately backs off less aggressively.
  • a check is made (block 12) to determine if the node has captured the channel, i.e. whether it is transmitting the second of two back-to-back packets. If so, the capture flag is set, as indicated in block 14. If the capture flag was not set, a check is made to determine whether this node has lost access to the channel, as indicated in block 16. If so, the capture flag is cleared, as indicated in block 18.
  • the capture flag is again checked, in block 22. If it is set, a special backoff time may be selected, depending on how many transmission attempts have been made.
  • a less aggressive backoff time is selected, as indicated in block 24.
  • a less aggressive backoff time is one that is longer than the standard backoff period.
  • the stopped backoff algorithm is incorporated into the node's backoff algorithm.
  • the node checks to see if the channel is busy. If the channel is not busy, the node begins to operate its backoff timer as shown in block 38. If the channel is busy, the node will not start its backoff timer, as indicated in block 36, and will continue to monitor the channel, as in block 34, until the channel is not busy, at which point the node can start its backoff timer, as shown in block 38. While the node is operating its backoff timer, it checks whether or not the timer has expired, as indicated in block 40. If the timer has not yet expired, the node continues to monitor the channel by branching along path 41, and halt its backoff timer at block 36 during any period in which the channel becomes busy, as detected in block 34.
  • the node may then attempt to retransmit, as shown in block 44.
  • another backoff time may be selected, as indicated in block 26.
  • the backoff time for the second retransmission attempt is more aggressive, i.e. shorter, than the standard time.
  • the node operates its backoff timer, as indicated in block 30. As shown in block 42, the node continually checks whether the backoff timer has expired. When the backoff timer does expire, the node attempts to retransmit its packet as indicated in block 44.
  • the next operation performed depends on whether or not a packet has been successfully transmitted. If the transmit operation for the packet is complete, as determined in block 32, processing continues with block 10. If the transmit operation for the packet is not complete, processing continues with block 22, to check the capture flag and choose an appropriate backoff time before the next retransmission attempt.
  • FIG. 3 there is shown the functions performed in a node implementing Method 2 of the present invention.
  • a check is made (block 12) to determine if the node has captured the channel, i.e. whether it is transmitting the second of two back-to-back packets If so, the capture flag is set, as indicated in block 14. If the capture flag was not set, a check is made to determine whether this node has lost access to the channel, as indicated in block 16. If so, the capture flag is cleared, as indicated in block 18.
  • an appropriate backoff time is selected, to determine the time that must elapse before retransmission is initiated. If no collision is detected, processing in the node continues, and the capture flag maintenance steps discussed above will be repeated continually. It will be understood, of course, that other forms of processing take place in the node, but these have been omitted for clarity.
  • the stopped backoff algorithm is incorporated into the node's backoff algorithm.
  • the node checks to see if the channel is busy. If the channel is not busy, the node begins to operate its backoff timer as shown in block 38. If the channel is busy, the node will not start its backoff timer, as indicated in block 36, and will continue to monitor the channel at block 34 until the channel is not busy, at which point the node can start its backoff timer, at block 38. While the node is operating its backoff timer, it checks whether or not the timer has expired, as indicated in block 40. If the timer has not yet expired, the node continues to monitor the channel by branching along path 41 and halt its backoff timer at block 36 during any period in which the channel becomes busy, as detected at block 34.
  • the node attempts to retransmit a data packet, as indicated in block 42. After attempting to retransmit, the next operation performed depends on whether or not a packet has been successfully transmitted. If the transmit operation for the packet is complete, as determined in block 32, processing continues with block 10. If the transmit operation for the packet is not complete, processing continues with block 22, to check the capture flag and choose an appropriate backoff time before the next retransmission attempt.
  • the next operation performed depends on whether or not a packet has been successfully transmitted. If the transmit operation for the packet is complete, as determined in block 32, processing continues with block 10. If the transmit operation for the packet is not complete, processing continues with block 22, to check the capture flag and choose an appropriate backoff time before the next retransmission attempt.
  • This invention may be implemented so that a node performs the improved algorithms for all packet transactions on the channel, or for only selected packet transactions.
  • a node may be designed with a mode bit in a register. When the mode bit is "on", the node will use the improved algorithms for all channel transactions.
  • a node could be designed so that the node bases its decision on whether to use the improved algorithms depending on the contents of the packets themselves. All nodes have the capability of examining the contents of the packets they transmit or receive. All nodes contain network controller hardware which examines the contents of packets received or transmitted.
  • a node could be programmed to recognize a particular bit pattern in a data field contained in a packet, as shown in block 23 of FIG. 4. Refer to FIG. 5 for a representation of a packet containing a mode designation field. If the particular bit pattern is present in the mode data field, the node would use a special backoff algorithm to successfully complete transmission of that packet.
  • the invention allows nodes in a CSMA/CD network to have improved performance when the network has only a small number of active nodes.
  • the invention is becoming of increasing usefulness because there appears to be a trend toward LAN segments having fewer nodes, to provide more bandwidth to users. These smaller networks are more likely to expose the capture effect, which results in performance degradation.
  • the invention applies equally well to 100 Mbps CSMA/CD LANs and to 10 Mbps CSMA/CD LANs.
  • nodes implementing the invention interoperate without modification with nodes using the IEEE 802.3 standard for collision backoff.
  • the present invention represents a significant advance in the field of CSMA/CD LANs.
  • the invention provides for greatly improved fairness of access to a LAN channel when there is a small number of active nodes on the network From a user standpoint, improved fairness also improves overall message throughput and latency.
  • improved fairness also improves overall message throughput and latency.

Abstract

A technique for modifying the IEEE 802.3 standard for selecting backoff times in a Carrier Sense Multiple Access with Collision Detection (CSMA/CD) network, in the event that a collision is sensed by a node that has captured the network communication channel. If there is a small number of active nodes on the network, one node may capture the channel and the standard backoff algorithm makes it increasingly unlikely for another node to transmit. The new technique provides for less aggressive, i.e. longer, backoff times before at least the first retransmission attempt made by a node that has captured the channel, and in addition provides for the use of a stopped backoff algorithm. Three specific examples of methods to choose a backoff time and two methods of using a stopped backoff algorithm are disclosed. Even though the invention represents a departure from the standard CSMA/CD backoff algorithm, the overall average backoff times provided by the invention can be selected to be consistent with the average times provided by the standard. Moreover, nodes using the invention interoperate successfully with nodes that do not use the invention.

Description

This application is a continuation in part of the U.S. patent application of Henry Sho-Che Yang, Kadangode K. Ramakrishnan, William R. Hawe, and Anthony Lauck, Ser. No. 08/085,866, filed Jun. 30, 1993, entitled "Method And Apparatus For Use In A Network Of The Ethernet Type, To Improve Fairness By Controlling Collision Backoff Times In The Event Of Channel Capture".
BACKGROUND OF THE INVENTION
This invention relates generally to local area networks (LANs) of the Ethernet type and, more particularly, to techniques for improving fairness of channel access in an Ethernet LAN. Ethernet is a commonly used name for a LAN that uses a network access protocol referred to as Carrier Sense Multiple Access with Collision Detection (CSMA/CD). The CSMA/CD protocol is defined in ANSI/IEEE Std 802.3, published by the Institute of Electrical and Electronics Engineers, Inc., 345 East 45th Street, New York, N.Y. 10017, and referred to in this specification as "the IEEE 802.3 standard." The standard is for a 10 Mbps (megabits/sec) CSMA/CD channel, but it will be understood that the present invention may also be applicable to a 100 Mbps channel.
Under the CSMA/CD rules for access to a network bus or cable, which will be referred to as the channel, any node or station wishing to transmit must first "listen" to make sure that the channel is clear before beginning to transmit. All nodes on the network have equal priority of access and may begin transmitting as soon as the channel is clear and a required inter-packet delay of 9.6 μs (microseconds) has elapsed. However, if a first node that has started transmitting detects a "collision" with a transmission from another node, the first node continues transmitting for a short time to make sure that all nodes wishing to transmit will detect the collision. Every other node detecting the collision also continues to transmit for a short time. Then each node that has detected a collision terminates transmission of the packet or frame. The nodes involved in the collision wait for the required interpacket delay of 9.6 μs and then select random, and therefore usually different, delay times, referred to as backoff times, before trying transmission of the same packet again.
More specifically, the IEEE 802.3 standard defines a collision backoff procedure referred to as "truncated binary exponential backoff." When a transmission attempt has terminated due to a collision, it is retried by the transmitting node, after a selected backoff time, until either the transmission is successful or a maximum number of attempts have been made and all have terminated due to collisions. The backoff time is selected by each node as an integral multiple of the "slot time," which is the maximum round-trip propagation time for the network, i.e. the time to propagate a data packet from one end of the network to the other, and back. The slot time defined by the IEEE 802.3 standard is 51.2 μs. The number of slot times selected as the backoff time before the nth retransmission is chosen as a randomly distributed integer r in the range:
0≦r<2.sup.k, where k=min (n, 10).
Therefore, for the first attempted retransmission the backoff time is selected as 0 or 1 slot times, for the second attempted retransmission the backoff time is selected as 0, 1, 2 or 3 slot times, for the third attempted retransmission the backoff time is selected as 0, 1, 2, 3, 4, 5, 6 or 7 slot times, and so forth. The maximum backoff time, for the tenth attempted retransmission may be up to 210 -1, or 1,023 slot times, i.e. 52.4 ms.
The IEEE 802.3 standard is designed to achieve optimal performance, in throughput, latency and fairness, when the number of nodes in the network is relatively large. When the number of active nodes, i.e. nodes having data packets to transmit, is small, e.g. two nodes, the IEEE 802.3 standard exhibits an undesirable effect referred to as the capture effect, in which one of the nodes may effectively capture the channel and transmit a succession of data packets in a back-to-back fashion for a relatively long period of time. The capture effect is best understood from a simple example.
Suppose there are two active nodes, A and B, in a network and they begin transmitting at approximately the same time, resulting in a first collision. They each select backoff times of 0 or 1 slot time, in accordance with the standard backoff algorithm. Suppose further that node A selects zero backoff time and node B selects one slot time as its backoff time. Obviously, node A will be able to successfully transmit on its first attempt at retransmission. Node B will wait a full slot time before making its first retransmission attempt, but by this time node A has started transmitting a second data packet, i.e. node A is transmitting successive packets back-to-back, with only the required interpacket gap (IPG) separating them. Node B experiences a second collision on its first data packet, but for node A it is still a "first" collision for trying to transmit a second data packet In accordance with the standard backoff algorithm, node A selects a backoff of 0 or 1 slot time, but node B selects a backoff of 0, 1, 2 or 3 slot times. Therefore, node B has only one chance in eight of winning access to the channel (if node B chooses 0 and node A chooses 1). Node A, however, has five chances in eight of winning channel access. (Two of the eight possibilities will result in another collision.) Clearly, it is more probable, actually five times more probable, that node A will retain access to the channel, as compared with node B. If the probable occurs, and node A transmits its second data packet,the situation becomes progressively more difficult for node B to transmit. If another collision occurs on node B's next attempt to retransmit, this will be node B's third attempt, but node A's "first" again. Node A's backoff is still 0 or 1 slot time, but node B's is selected from 0 through 7 slot times. Node A is then thirteen times as likely to win access to the channel on the next attempted retransmission. For the nth attempt at retransmission by node B, node A will be (2n -3) times more likely to win access to the channel. For the maximum value of n, i.e. 10, the unfairness factor between the two active nodes will be 210 -3, or 1,021.
For network protocols that require a receiving node to acknowledge that it has received a packet, the situation is further aggravated by the need to transmit acknowledgment messages on the network. For example node A captures the channel and is sending successive packets to node B, node B may be unable to acknowledge even the first received packet. Node A will eventually have to give up the channel to allow acknowledgements to flow back from node B, but this is an inefficient process and channel utilization goes down.
It will be appreciated from the foregoing that there is a need for improvement over the standard approach for selecting random backoff times in a network using the CSMA/CD protocol. Ideally, any improved technique should still comport with the objects of the IEEE 802.3 standard and should be compatible with nodes that use the standard without improvement. The present invention achieves these ends, as will become apparent from the following summary.
One approach has been to assign special backoff times to a node based on the node's recent transmission attempt history. These special backoff algorithms, however, sometimes have the undesirable effect of reducing channel throughput.
SUMMARY OF THE INVENTION
The present invention resides in a technique that modifies the standard backoff approach in the event that a channel capture condition is detected. The basic method of the invention is for use in a node of a network employing a Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol to control channel access. The method comprises the steps of sensing when a node has captured the channel by successfully transmitting a first data packet and beginning to transmit a second data packet without relinquishing the channel to another node, then, after sensing capture of the channel, sensing a collision between the second packet transmission and a transmission by another node; after sensing a collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, and finally, potentially using a stopped backoff algorithm during the backoff period. The less aggressive backoff time selected for a node that has captured the channel gives a node that has not captured the channel at least one transmission opportunity that it would not otherwise have.
A first method of implementing the invention comprises the steps of sensing when a node has captured the channel, then, after sensing capture of the channel, sensing a collision between a second packet transmission and a transmission by a different node on the network, and, after sensing the collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, then, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, halting the backoff timer during any period in which the channel is not idle, and finally, attempting retransmission when the backoff timer expires.
A second method of implementing the invention comprises the steps of sensing when the node has captured the channel, then, after sensing capture of the channel, sensing a collision between a second packet transmission and a transmission by a different node on the network, after sensing the collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, then, determining if the node is waiting a first backoff time for a first retransmission attempt, and, in response to a determination that the node is waiting a first backoff time, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle, and, in response to a determination that the node is not waiting a first backoff time, operating the backoff timer, and finally, attempting retransmission when the backoff timer expires.
The step of monitoring the channel for activity from a different node in either implementation further comprises recognizing when a different node is transmitting on the channel, recognizing when a collision is occurring on the channel, and recognizing when a different node is transmitting or a collision is occurring on the channel.
A node may use the invention for all packet transactions on a channel, or for selected packet transactions only. A selective implementation of the invention includes the additional steps of examining the contents of a data field in a packet which requires retransmission in order to determine whether a special backoff algorithm should be used for the packet, and, in response to a determination that the special backoff algorithm should be used, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, and wherein the backoff time before a second retransmission attempt is selected to be actually or potentially shorter than if the node had not captured the channel, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle, and, in response to a determination that the special backoff algorithm should not be used, operating a backoff timer, and finally, attempting retransmission when the backoff timer expires.
The invention may also be defined in terms of an apparatus, comprising means for sensing when the node has captured the channel, means for, after sensing capture of the channel, sensing a collision between a second packet transmission and a transmission by a different node on the network, means for, in response to sensing the collision, selecting a backoff time to wait before attempting retransmission, wherein the backoff time before at least the first retransmission attempt is selected to be actually or potentially longer than if the node had not captured the channel, means for monitoring the channel for activity from a different node on the network, a backoff timer, means for operating the backoff timer when the channel is idle, means for halting the backoff timer during any period in which the channel is not idle, and means for attempting retransmission when the backoff timer expires. A second apparatus embodying the invention also includes means for determining if the node is waiting a first backoff time for a first retransmission attempt, means for, in response to a determination that the node is waiting a first backoff time, monitoring the channel for activity from a different node on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle, means for, in response to a determination that the node is not waiting a first backoff time, operating a backoff timer, and means for attempting retransmission when the backoff timer expires.
It will be appreciated from the foregoing that the present invention represents a significant advance in the field of local area networks of the Ethernet or IEEE 802.3 type. The invention improves fairness of channel access in networks with small numbers of active nodes, since these configurations are most prone to unfairness caused by channel capture. Other aspects and advantages of the invention will become apparent from the following more detailed description, taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram showing the principles of collision detection in a CSMA/CD LAN; and
FIG. 2 is a flowchart showing the principles of a first and preferred embodiment of the present invention; and
FIG. 3 is a flowchart showing the principles of a second embodiment of the present invention;
FIG. 4 is a flowchart showing the principles of a fourth embodiment of the present invention; and
FIG. 5 is a diagram of the contents of a packet transmitted on a channel.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
As shown in the drawings for purposes of illustration, the present invention is concerned with an improved technique for randomly selecting backoff times in a LAN that uses a network access protocol referred to as Carrier Sense Multiple Access with Collision Detection (CSMA/CD). Under the CSMA/CD rules for access to a network channel, any node wishing to transmit must first "listen" to make sure that the channel is idle before beginning to transmit. All nodes on the network have equal priority of access and may begin transmitting as soon as the channel is idle and a required interpacket delay has elapsed.
FIG. 1 is a graphical diagram that is useful in visualizing channel access concepts in a LAN of the Ethernet or IEEE 802.3 standard type. The horizontal axis of the diagram represents distance along the channel from a first node S1 on the left-hand side to an nth node Sn on the right-hand side. The vertical axis represents time. The area designated Packet #1 represents the transmission of a data packet by node S1 onto the channel. The vertical dimension of this area indicates that the packet takes a certain time for S1 to transmit it. The downward slope of the area is consistent with the propagation delay associated with the packet as it is transmitted along the channel. Thus node Sn receives the packet some time after it was transmitted.
After transmitting Packet #1, node S1 waits for a required interpacket gap (IPG) time, which the standard defines as 9.6 μs, and if no other channel activity is detected, begins transmitting another packet, as indicated by the area "Packet #2." This is a back-to-back transmission of successive data packets, and thus far it has been assumed that there was no competition for access to the channel.
The next portion of FIG. 1 shows the effect of practically simultaneous transmission attempts from nodes S1 and Sn. Transmission of Packets #3 and #4 were both started after the transmitting nodes detected an idle channel. The packets collide in mid-channel, as indicated diagrammatically in FIG. 1, and an indication of the collision is provided to the transmitting nodes, and to all the other nodes, as indicated by the broken lines in the figure. It will be appreciated from the figure that the time for node S1 to learn of the collision is the round-trip propagation time from the transmitting node to the collision point, and back. It will also be appreciated that the collision point may be almost at the other end of the channel, adjacent to node Sn. Then the delay in learning of the collision would be the round-trip propagation time from one end of the channel to the other. This time is referred to as one slot time, and is defined by the IEEE 802.3 standard as a maximum of 51.2 μs.
In the event of a collision, each active node defers its next attempt to transmit by a random time that is an integral multiple r of the slot time. Specifically, for the nth attempt at retransmission r is chosen from the range:
0≦r<2.sup.k, where k=min (n, 10).
Therefore, the backoff time is selected from the following ranges of times, depending on how many retransmission attempts have been made:
______________________________________                                    
Retransmission                                                            
              Backoff time in slot times                                  
attempt no.   r                                                           
n             (selected at random from:)                                  
______________________________________                                    
1             0,1                                                         
2             0,1,2,3                                                     
3             0,1,2,3,4,5,6,7                                             
4             0 through 15                                                
n             0 through (2.sup.n -1)                                      
10 (maximum n)                                                            
              0 through 1,023                                             
______________________________________                                    
The standard backoff algorithm is designed to achieve optimal performance, in throughput, latency and fairness, when the number of nodes in the network is relatively large. When the number of active nodes, i.e. nodes having data packets to transmit, is small, e.g. two nodes, the IEEE 802.3 standard exhibits an undesirable effect referred to as the capture effect, in which one of the nodes may effectively capture the channel and transmit a succession of data packets in a back-to-back fashion for a relatively long period of time. The capture effect arises because the range of backoff times increases exponentially with the number of retransmission attempts. If one of two active nodes loses channel access, the losing node has a progressively decreasing probability of gaining access so long as the other node continues to transmit back-to-back packets.
FIRST EXEMPLARY EMBODIMENT
In accordance with the invention, when a node senses that it has captured the channel, after the next collision it selects a backoff time that is less aggressive (i.e. tends to be longer) than the backoff time designated by the standard backoff algorithm. This provides an increased opportunity for another node to gain access to the channel, and results in improved performance when there are only two active nodes, or in networks having a small number of nodes.
The selection of backoff times for a node in the capture condition may be made in accordance with one of several different specific approaches. A common feature of the approaches is that each provides for a less aggressive (i.e. potentially or definitely longer) backoff time for the first retransmission attempt by a node that has captured the channel. Three examples are provided below.
EXAMPLE 1
For n=1 (first retransmission attempt), a backoff of 2 slot times is always selected for a node that has captured the channel. For n=2 (second retransmission attempt), a backoff of 0 slot times is selected. For n>2, the standard backoff time of r slot times is selected, where r is in the range: 0≦r<2k, where k=min (n, 10). Note that the average of first two collision backoff times is one slot time, which is the same as the average for the first two backoff times using the standard algorithm.
EXAMPLE 2
For n=1 (first retransmission attempt), a backoff of r slot times is selected for a node that has captured the channel, where r in this case is in the range 0≦r<4. For n=2 (second retransmission attempt), a backoff of r slot times is selected, where r in this case is in the range 0≦r<2. For n>2, the standard backoff time of r slot times is selected, where r is in the range: 0≦r<2k, and k=min (n, 10). Note that, as in Example 1, the average of first two collision backoff times is the same as the average for the first two backoff times using the standard algorithm. In fact the first two backoff times are equivalent to those in the standard algorithm, but reversed in sequence.
EXAMPLE 3
For n=1 (first retransmission attempt), a backoff of 4 slot times is always selected for a node that has captured the channel. For n>1 (second or subsequent retransmission attempt), the standard backoff time of r slot times is selected, where r is in the range:
0≦r<2.sup.k, where k=min (n, 10).
In this example, the average of the fist two backoff times is higher than the average for the standard algorithm. Basically, this approach provides for a relatively long backoff as soon as the capture condition is detected, followed by an immediate return to the standard approach.
The following table compares the standard approach with those of the three examples of the present invention:
______________________________________                                    
          Backoff Time (Slot times)                                       
Backoff technique                                                         
            n = 1        n = 2   n = 2                                    
______________________________________                                    
IEEE Standard                                                             
            0-1          0-3     0-7                                      
Example #1  2            0       0-7                                      
Example #2  0-3          0-1     0-7                                      
Example #3  4            0-3     0-7                                      
______________________________________                                    
SECOND EXEMPLARY EMBODIMENT
These improved backoff algorithms, however, may exhibit undesirable characteristics resulting in lower throughput on the channel in some circumstances. For example, under a worst case load, where two nodes have an infinite number of packets to transmit, for every packet transmitted, there is a corresponding collision. This is characterized as a 100% collision rate. A simple example will demonstrate how this occurs.
Suppose there are two active nodes, A and B, in a network and node A has determined it has captured the channel. Node B begins to transmit, and a collision occurs. When a collision occurs, using the algorithm in Example 1, above, node A will select backoff time of 2. Suppose further that node B, using the standard algorithm, selects a zero backoff time. Obviously, node B will be able to successfully transmit on its first attempt at retransmission. After node B has successfully transmitted, both node A and node B will again simultaneously transmit a packet because again, each node has an infinite number packets to transmit. At this point, in accordance with the invention, node B will determine it has captured the channel because it has successfully transmitted a packet and is now transmitting another packet without having received a packet or fragment of a packet since the successful transmission. Node A, on the other hand, will clear any indication that it has captured the channel. With this second simultaneous transmission, a second collision will occur. Now node B, which has captured the channel, will select a backoff time of 2. According to the invention, node A selects a backoff of zero. Node A will successfully transmit a packet upon its retransmission attempt, and the whole cycle outlined in this example will begin again. The two nodes will take turns successfully transmitting a packet, but for each packet transmitted there will be a collision.
The addition of a stopped backoff algorithm alleviates this undesirable characteristic. Using a stopped backoff algorithm, a node delays its retransmission attempt depending on channel activity. The stopped backoff algorithm requires a node to stop its backoff timer when it detects that the channel is busy, e.g. when the receive carrier or collision signal is active.
Stopped backoff algorithms have been used in LANs having a large number of nodes. The original motivation for stopped backoff algorithms arose because of the following situation: a collision occurs involving n nodes. One of the nodes or even a different node, say node X, gains access to the network and initiates a long data transfer. During this long transfer, many or all the n nodes involved in the collision may complete their backoff waiting period and attempt a retransmission immediately following node X's long transfer, leading to another multi-node collision. Stopped backoff algorithms reduce the occurrence of end-of-transmission collisions by forcing the nodes on the network to wait a random amount of time from the end of node X's transmission before attempting a retransmission.
One stopped backoff algorithm was introduced by Madhay Marathe in a paper submitted to the IEEE entitled, "Design Analysis of a Local Area Network", 1980. (Citation?). A second stopped backoff algorithm, used in IEEE 802.3 compliant products, works as follows: while a node is in a backoff state following a collision, it stops its backoff timer when it detects channel activity on its receive carrier or collision signal inputs. The running of the backoff timer is resumed when the channel becomes idle.
The improved feature of the present invention may be implemented in different ways. Two methods are described, the first of which represents the preferred embodiment of the present invention.
METHOD 1
If a node has attempted a back-to-back transmit, and a collision has occurred, the node uses one of the special backoff algorithms described above in Examples 1, 2 or 3 to select a backoff time. Only after a first collision and corresponding first retransmission attempt backoff time, the node it halts its backoff timer during any period in which the channel is busy, e.g. when the node detects activity on its receive carrier or collision signal. The backoff timer is continued, without being reset, when the channel becomes idle. For any collision after the first collision, the node uses one of the special backoff algorithms without a stopped backoff algorithm.
METHOD 2
If a node has attempted a back-to-back transmit, and collision has occurred, the node uses one of the special backoff algorithms described above in Examples 1, 2 or 3 to select a backoff time. For any collision and its corresponding retransmission attempt backoff time, the node halts its backoff timer during any period in which the channel is busy, e.g. when the node detects activity on its receive carrier or collision signal. The backoff timer is continued, without being reset, when the channel becomes idle.
Turning now to FIG. 2, there is shown the functions performed in a node implementing the Method 1 of the present invention. The node continually monitors its operation to determine whether it has captured the channel, and maintains a capture flag to record this status. In the presently preferred embodiment of the invention, channel capture is defined to have occurred when a node begins transmitting a data packet without having received a packet, or a fragment of a packet, from the network since the node's transmission of a prior packet. Under this definition, the subsequent packet transmission may occur immediately upon the expiration of a required inter-packet gap (IPG) following the transmission of the prior packet, or may occur at some later time following transmission of the prior packet. When a node successfully transmits a packet, it retains memory of this event during a subsequent idle period. When the node starts a subsequent packet transmission without an intervening transmission by another node, the node is said to have captured the channel. This channel capture test is easy to implement and results in rapid and consistent application of the principle of the invention.
An alternative approach to testing for channel capture is to require back-to-back transmissions by a node before the node is declared to have captured the channel. Therefore, channel capture will be detected upon beginning transmission of a second packet immediately after transmitting a first packet and waiting for the required interpacket gap. Although this approach is satisfactory, it results in a delay in the application of the invention for a network with a larger number of nodes. When two nodes are competing for channel access, a number of collisions may be needed before one node gains access and is subsequently declared to have captured the channel. In the preferred approach to declaring channel capture, at any instant in time one of two active nodes on the network will always be considered to have captured the channel, even though there may be intervening idle periods. Therefore, on the occurrence of a first collision the node that has captured the channel immediately backs off less aggressively.
As indicated in block 10, if this node currently does not have its capture flag set, a check is made (block 12) to determine if the node has captured the channel, i.e. whether it is transmitting the second of two back-to-back packets. If so, the capture flag is set, as indicated in block 14. If the capture flag was not set, a check is made to determine whether this node has lost access to the channel, as indicated in block 16. If so, the capture flag is cleared, as indicated in block 18.
Following these steps to maintain the capture flag, if no collision is detected, processing in the node continues, and the capture flag maintenance steps discussed above will be repeated continually. It will be understood, of course, that other forms of processing take place in the node, but these have been omitted for clarity.
If a collision is detected, as indicated in block 20, the capture flag is again checked, in block 22. If it is set, a special backoff time may be selected, depending on how many transmission attempts have been made.
For the first retransmission attempt (n=1) after a collision (and after detection of capture by this node), a less aggressive backoff time is selected, as indicated in block 24. A less aggressive backoff time is one that is longer than the standard backoff period.
Because this is the first retransmission attempt, the stopped backoff algorithm is incorporated into the node's backoff algorithm. First, as indicated by block 34, the node checks to see if the channel is busy. If the channel is not busy, the node begins to operate its backoff timer as shown in block 38. If the channel is busy, the node will not start its backoff timer, as indicated in block 36, and will continue to monitor the channel, as in block 34, until the channel is not busy, at which point the node can start its backoff timer, as shown in block 38. While the node is operating its backoff timer, it checks whether or not the timer has expired, as indicated in block 40. If the timer has not yet expired, the node continues to monitor the channel by branching along path 41, and halt its backoff timer at block 36 during any period in which the channel becomes busy, as detected in block 34.
If the node's backoff timer has expired, the node may then attempt to retransmit, as shown in block 44.
For the second retransmission attempt, another backoff time may be selected, as indicated in block 26. The backoff time for the second retransmission attempt is more aggressive, i.e. shorter, than the standard time. For third or later attempts at retransmission (n>2), the standard backoff time is selected, as indicated in block 28; i.e. a backoff time of from 0 through 7 slot times for n=3, 0 through 15 for n=4, and so forth. If the capture flag is not set, as determined in block 22, the standard backoff time is also selected. After selection of a backoff time, the node operates its backoff timer, as indicated in block 30. As shown in block 42, the node continually checks whether the backoff timer has expired. When the backoff timer does expire, the node attempts to retransmit its packet as indicated in block 44.
After attempting to retransmit, the next operation performed depends on whether or not a packet has been successfully transmitted. If the transmit operation for the packet is complete, as determined in block 32, processing continues with block 10. If the transmit operation for the packet is not complete, processing continues with block 22, to check the capture flag and choose an appropriate backoff time before the next retransmission attempt.
Turning now to FIG. 3, there is shown the functions performed in a node implementing Method 2 of the present invention. As indicated in block 10, if this node currently does not have its capture flag set, a check is made (block 12) to determine if the node has captured the channel, i.e. whether it is transmitting the second of two back-to-back packets If so, the capture flag is set, as indicated in block 14. If the capture flag was not set, a check is made to determine whether this node has lost access to the channel, as indicated in block 16. If so, the capture flag is cleared, as indicated in block 18.
Following these steps to maintain the capture flag, if a collision is detected, as indicated in block 20, an appropriate backoff time is selected, to determine the time that must elapse before retransmission is initiated. If no collision is detected, processing in the node continues, and the capture flag maintenance steps discussed above will be repeated continually. It will be understood, of course, that other forms of processing take place in the node, but these have been omitted for clarity.
When a collision is detected (in block 20), the capture flag is again checked, in block 22. If it is set, a special backoff time may be selected, depending on how many transmission attempts have been made. For the first retransmission attempt after a collision (and after detection of capture by this node), a less aggressive backoff time is selected, as indicated in block 24. A less aggressive backoff time is one that is longer than the standard backoff period. For the second retransmission attempt, another selected backoff time may be selected, as indicated in block 26. The backoff time for the second retransmission attempt is more aggressive, i.e. shorter, than the standard time. For third or later attempts at retransmission (n>2), the standard backoff time is selected, as indicated in block 28; i.e. a backoff time of from 0 through 7 slot times for n=3, 0 through 15 for n=4, and so forth, as required by the standard backoff algorithm. If the capture flag is not set, as determined in block 22, the standard backoff time is also selected.
After selection of a backoff time, the stopped backoff algorithm is incorporated into the node's backoff algorithm. First, as indicated by block 34, the node checks to see if the channel is busy. If the channel is not busy, the node begins to operate its backoff timer as shown in block 38. If the channel is busy, the node will not start its backoff timer, as indicated in block 36, and will continue to monitor the channel at block 34 until the channel is not busy, at which point the node can start its backoff timer, at block 38. While the node is operating its backoff timer, it checks whether or not the timer has expired, as indicated in block 40. If the timer has not yet expired, the node continues to monitor the channel by branching along path 41 and halt its backoff timer at block 36 during any period in which the channel becomes busy, as detected at block 34.
When the node's backoff timer has expired, the node attempts to retransmit a data packet, as indicated in block 42. After attempting to retransmit, the next operation performed depends on whether or not a packet has been successfully transmitted. If the transmit operation for the packet is complete, as determined in block 32, processing continues with block 10. If the transmit operation for the packet is not complete, processing continues with block 22, to check the capture flag and choose an appropriate backoff time before the next retransmission attempt.
After attempting to retransmit, the next operation performed depends on whether or not a packet has been successfully transmitted. If the transmit operation for the packet is complete, as determined in block 32, processing continues with block 10. If the transmit operation for the packet is not complete, processing continues with block 22, to check the capture flag and choose an appropriate backoff time before the next retransmission attempt.
This invention may be implemented so that a node performs the improved algorithms for all packet transactions on the channel, or for only selected packet transactions. For example, a node may be designed with a mode bit in a register. When the mode bit is "on", the node will use the improved algorithms for all channel transactions. In the alternative, a node could be designed so that the node bases its decision on whether to use the improved algorithms depending on the contents of the packets themselves. All nodes have the capability of examining the contents of the packets they transmit or receive. All nodes contain network controller hardware which examines the contents of packets received or transmitted. To implement a selective version of this invention, a node could be programmed to recognize a particular bit pattern in a data field contained in a packet, as shown in block 23 of FIG. 4. Refer to FIG. 5 for a representation of a packet containing a mode designation field. If the particular bit pattern is present in the mode data field, the node would use a special backoff algorithm to successfully complete transmission of that packet.
The invention allows nodes in a CSMA/CD network to have improved performance when the network has only a small number of active nodes. The invention is becoming of increasing usefulness because there appears to be a trend toward LAN segments having fewer nodes, to provide more bandwidth to users. These smaller networks are more likely to expose the capture effect, which results in performance degradation. The invention applies equally well to 100 Mbps CSMA/CD LANs and to 10 Mbps CSMA/CD LANs. Moreover, nodes implementing the invention interoperate without modification with nodes using the IEEE 802.3 standard for collision backoff.
It will be appreciated from the foregoing that the present invention represents a significant advance in the field of CSMA/CD LANs. In particular, the invention provides for greatly improved fairness of access to a LAN channel when there is a small number of active nodes on the network From a user standpoint, improved fairness also improves overall message throughput and latency. It will also be appreciated that, although three specific embodiments of the invention have been described, various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited except as by the appended claims.

Claims (11)

We claim:
1. For use in a first node in a network having a plurality of nodes employing Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol for channel access, a method for improving the fairness of access to a channel, comprising the steps of:
sensing whether or not the first node of the network has captured a channel;
sensing a collision between a first packet transmission by the first node and a second packet transmission by a second node of the network;
after sensing the collision, selecting a backoff time to wait before making each of a number of retransmission attempts of the .[.second.]. .Iadd.first .Iaddend.packet, .[.the selected backoff time between each said attempt and the immediately preceding attempt conforming to a selected integral multiple r of a slot time, where r is a positive integer, and corresponding to the number of the retransmission attempts made previously,.]. whereby, if the first node has .Iadd.not .Iaddend.captured the channel, the backoff time is .Iadd.selected from .Iaddend.a prescribed .Iadd.range of .Iaddend.backoff .[.time.]. .Iadd×Iaddend.;
if the first node has .[.not.]. captured the channel, the backoff time .[.before making at least a first of the retransmission of the attempts.]. is selected .[.to be r slot times longer than the prescribed backoff time.]. .Iadd.from a different range of backoff times including a longer backoff time than those included in said prescribed range.Iaddend.;
monitoring the channel for activity from .[.the second node.]. .Iadd.other nodes .Iaddend.on the network;
operating a backoff timer to provide the selected backoff time when the channel is idle;
halting the backoff timer during any period in which the channel is not idle; and
attempting retransmission of the .[.second.]. .Iadd.first .Iaddend.packet when the backoff timer expires.
2. For use in a first node in a network having a plurality of nodes employing Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol for channel access, a method for improving the fairness of access to a channel, comprising the steps of:
sensing whether or not the first node of the network has captured a channel;
sensing a collision between a first packet transmission by the first node of the network and a second packet transmission by a second node of the network;
after sensing the collision, selecting a backoff time to wait before making each of a number of retransmission attempts of the .[.second.]. .Iadd.first .Iaddend.packet, .[.the selected backoff time between each said attempt and the immediately preceding attempt conforming to a selected integral multiple r of a slot time, where r is a positive integer, and corresponding to the number of the retransmission attempts made previously,.]. whereby, if the first node has .Iadd.not .Iaddend.captured the channel, the backoff time is .Iadd.selected from .Iaddend.a prescribed .Iadd.range of .Iaddend.backoff .[.time.]. .Iadd×Iaddend.;
if the first node has .[.not.]. captured the channel, the backoff time .[.before making at least a first retransmission of the attempts.]. is selected .[.to be r slot times longer than the prescribed backoff time.]. .Iadd.from a different range of backoff times including a longer backoff time than those included in said prescribed range.Iaddend.;
determining if the .[.second.]. .Iadd.first .Iaddend.node is waiting a first backoff time .Iadd.selected from said different range .Iaddend.for a first retransmission attempt;
in response to a determination that the .[.second.]. .Iadd.first .Iaddend.node is waiting the first backoff time, monitoring the channel for activity from the .[.first node.]. .Iadd.other nodes .Iaddend.on the network, operating a backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle;
in response to a determination that the .[.second.]. .Iadd.first .Iaddend.node is not waiting the first backoff time, operating the backoff timer; and attempting retransmission of the .[.second.]. .Iadd.first .Iaddend.packet when the backoff timer expires.
3. The method in as in claim 1 or 2 wherein the step of monitoring the channel for activity from the .[.second node.]. .Iadd.other nodes .Iaddend.further comprises recognizing when .[.the second.]. .Iadd.another .Iaddend.node is transmitting on the channel.
4. The method in as in claim 1 or 2 wherein the step of monitoring the channel for activity from the .[.second node.]. .Iadd.other nodes .Iaddend.further comprises recognizing when a collision is occurring on the channel.
5. The method in as in claim 1 or 2 wherein the step of monitoring the channel for activity from the .[.second node.]. .Iadd.other nodes .Iaddend.further comprises recognizing when .[.the first.]. .Iadd.another .Iaddend.node is transmitting or a collision is occurring on the channel.
6. For use in a first node in a network having a plurality of nodes employing Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol for channel access, an apparatus for improving the fairness of access to a channel, comprising:
means for sensing whether or not the first node has captured a channel;
means for sensing a collision between a first packet transmission by the first node and a second packet transmission by a second node on the network;
means, in response to sensing the collision, for selecting a backoff time to wait before making each of a number of retransmission attempts of the .[.second.]. .Iadd.first .Iaddend.packet, .[.the selected backoff time between each said attempt and the immediately preceding attempt conforming to a selected integral multiple r of a slot time, where r is a positive integer, and corresponding to the number of the retransmission attempts made previously,.]. whereby, if the first node has .Iadd.not .Iaddend.captured the channel, the backoff time is .Iadd.selected from .Iaddend.a prescribed .Iadd.range of .Iaddend.backoff .[.time.]. .Iadd×Iaddend.;
if the first node has .[.not.]. captured the channel, the backoff time .[.before making at least a first of the retransmission of the attempts.]. is selected .[.to be r slot times longer than the prescribed backoff time.]. .Iadd.from a different range of backoff times including a longer backoff time than those included in said prescribed range.Iaddend.;
means for monitoring the channel for activity from .[.the first node.]. .Iadd.other nodes .Iaddend.of the network;
a backoff timer to provide .[.a.]. .Iadd.the selected .Iaddend.backoff time for retransmission of the .[.second.]. .Iadd.first .Iaddend.packet;
means for operating the backoff timer when the channel is idle;
means for halting the backoff timer during any period in which the channel is not idle; and
means for attempting retransmission of the .[.second.]. .Iadd.first .Iaddend.packet when the backoff timer expires.
7. For use in a first node in a network having a plurality of nodes employing Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol for channel access, an apparatus for improving the fairness of access to a channel, comprising:
means for sensing whether or not the first node has captured a channel;
means for sensing a collision between a first packet transmission by the first node and a second packet transmission by a second node on the network;
means, in response to sensing the collision, for selecting a backoff time to wait before making each of a number of retransmission attempts of the .[.second.]. .Iadd.first .Iaddend.packet, .[.the selected backoff time between each said attempt and the immediately preceding attempt conforming to a selected integral multiple r of a slot time, where r is a positive integer, and corresponding to the number of the retransmission attempts made previously,.]. whereby, if the first node has .Iadd.not .Iaddend.captured the channel, the backoff time is .Iadd.selected from .Iaddend.a prescribed .Iadd.range of .Iaddend.backoff .[.time.]. .Iadd×Iaddend.;
if the first node has .[.not.]. captured the channel, the backoff time .[.before making at least a first of the retransmission attempts.]. is selected .[.to be r slot times longer than the prescribed backoff time.]. .Iadd.from a different range of backoff times including a longer backoff time than those included in said prescribed range.Iaddend.;
a backoff timer to provide .[.a.]. .Iadd.the selected .Iaddend.backoff time for retransmission of the .[.second.]. .Iadd.first .Iaddend.packet;
means for determining if the .[.second.]. .Iadd.first .Iaddend.node is waiting a first backoff time .Iadd.selected from said different range .Iaddend.for a first retransmission attempt of the .[.second.]. .Iadd.first .Iaddend.packet;
means, in response to a determination that the .[.second.]. .Iadd.first .Iaddend.node is waiting the first backoff time, for monitoring the channel for activity from .[.the first node.]. .Iadd.other nodes .Iaddend.on the network, operating .[.a.]. .Iadd.the .Iaddend.backoff timer when the channel is idle, and halting the backoff timer during any period in which the channel is not idle;
means, in response to a determination that the .[.second.]. .Iadd.first .Iaddend.node is not waiting the first backoff time, for operating .[.a.]. .Iadd.the .Iaddend.backoff timer; and
means for attempting retransmission of the .[.second.]. .Iadd.first .Iaddend.packet when the backoff timer expires.
8. The apparatus as in claim 6 or 7 wherein the means for monitoring the channel for activity from .[.second node.]. .Iadd.other nodes .Iaddend.further comprises means for recognizing when .[.second.]. .Iadd.another .Iaddend.node is transmitting on the channel.
9. The apparatus as in claim 6 or 7 wherein the means for monitoring the channel for activity from .[.second node.]. .Iadd.other nodes .Iaddend.further comprises means for recognizing when a collision is occurring on the channel.
10. The apparatus as in claim 6 or 7 wherein the means for monitoring the channel for activity from .[.the second node.]. .Iadd.other nodes .Iaddend.further comprises means for recognizing when .[.second.]. .Iadd.another .Iaddend.node is transmitting or a collision is occurring on the channel.
11. For use in a first node in a network having a plurality of nodes employing Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol for channel access, a method for improving the fairness of access to a channel, comprising the steps of:
sensing whether or not the first node has captured a channel;
sensing a collision between a first packet transmission by the first node and a second packet transmission by a second node on the network;
after sensing the collision, examining the contents of a data field in .[.second.]. .Iadd.the first .Iaddend.packet .[.requiring retransmission.]. to determine whether a special backoff algorithm should be used for .[.the second.]. .Iadd.retransmission of the first .Iaddend.packet;
in response to a determination that the special backoff algorithm should be used, selecting a backoff time to wait before making each of a number of retransmission attempts of the .[.second.]. .Iadd.first .Iaddend.packet, .[.the selected backoff time between each said attempt and the immediately preceding attempt conforming to a selected integral multiple r of a slot time, where r is a positive integer, and corresponding to the number of the retransmission attempts made previously,.]. whereby, if the first node has .Iadd.not .Iaddend.captured the channel, the backoff time is a prescribed backoff time;
if the first node has .[.not.]. captured the channel, the backoff time before at least a first of the retransmission attempts is selected to be .[.r slot times.]. longer than the prescribed backoff time, and wherein the backoff time before a second retransmission .Iadd.attempt .Iaddend.of the .[.second.]. .Iadd.first .Iaddend.packet .[.attempt.]. is selected to be .[.r slot times.]. shorter than the prescribed backoff time, monitoring the channel for activity from .[.the second node.]. .Iadd.other nodes .Iaddend.on the network, operating a backoff timer .Iadd.to provide the selected backoff time .Iaddend.when the channel is idle, and halting the backoff timer during any period in which the channel is not idle;
in response to a determination that the special backoff algorithm should not be used, operating a backoff timer .Iadd.to provide the prescribed backoff time.Iaddend.; and attempting retransmission of the .[.second.]. .Iadd.first .Iaddend.packet when the backoff timer expires.
US08/899,511 1993-06-30 1997-07-24 Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture Expired - Lifetime USRE36353E (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/899,511 USRE36353E (en) 1993-06-30 1997-07-24 Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8586693A 1993-06-30 1993-06-30
US08/263,698 US5436903A (en) 1993-06-30 1994-06-22 Method and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture
US08/899,511 USRE36353E (en) 1993-06-30 1997-07-24 Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US8586693A Continuation-In-Part 1993-06-30 1993-06-30
US08/263,698 Reissue US5436903A (en) 1993-06-30 1994-06-22 Method and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture

Publications (1)

Publication Number Publication Date
USRE36353E true USRE36353E (en) 1999-10-26

Family

ID=26773180

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/899,511 Expired - Lifetime USRE36353E (en) 1993-06-30 1997-07-24 Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture

Country Status (1)

Country Link
US (1) USRE36353E (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606327B1 (en) * 1999-08-10 2003-08-12 3Com Corporation Method to dynamically adjust the maximum back off time of an ethernet controller in a half duplex network
US6819676B1 (en) * 1998-12-18 2004-11-16 Hyundai Electronics Industries Co., Ltd. Method for improving scheduling fairness of signal transmission/reception in a network
US7051226B1 (en) * 1999-08-10 2006-05-23 3Com Corporation Method and system for providing priority to a station in a congested half duplex Ethernet network
US7082472B1 (en) * 2000-08-31 2006-07-25 Lucent Technologies Inc. Method for transmitting data over a network medium
US7187692B1 (en) * 1999-11-04 2007-03-06 Matsushita Electric Industrial Co., Ltd. Information communication system, noncontact IC card, and IC chip
US20090154438A1 (en) * 2007-12-13 2009-06-18 Eui Jik Kim Packet transmission method for wireless personal area network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4707829A (en) * 1986-09-25 1987-11-17 Racal Data Communications Inc. CSMA-CD with channel capture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4707829A (en) * 1986-09-25 1987-11-17 Racal Data Communications Inc. CSMA-CD with channel capture

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819676B1 (en) * 1998-12-18 2004-11-16 Hyundai Electronics Industries Co., Ltd. Method for improving scheduling fairness of signal transmission/reception in a network
US6606327B1 (en) * 1999-08-10 2003-08-12 3Com Corporation Method to dynamically adjust the maximum back off time of an ethernet controller in a half duplex network
US7051226B1 (en) * 1999-08-10 2006-05-23 3Com Corporation Method and system for providing priority to a station in a congested half duplex Ethernet network
US7187692B1 (en) * 1999-11-04 2007-03-06 Matsushita Electric Industrial Co., Ltd. Information communication system, noncontact IC card, and IC chip
US7082472B1 (en) * 2000-08-31 2006-07-25 Lucent Technologies Inc. Method for transmitting data over a network medium
US20090154438A1 (en) * 2007-12-13 2009-06-18 Eui Jik Kim Packet transmission method for wireless personal area network
US8335155B2 (en) * 2007-12-13 2012-12-18 Samsung Electronics Co., Ltd. Packet transmission method for wireless personal area network
KR101394331B1 (en) * 2007-12-13 2014-05-13 경희대학교 산학협력단 Method for transmitting packet in wireless personal area network

Similar Documents

Publication Publication Date Title
US5436903A (en) Method and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture
US5526355A (en) Method and apparatus for use in a network of the ethernet type, to improve performance by reducing the occurrence of collisions in the event of channel capture
US5418784A (en) Method and apparatus for use in a network of the ethernet type, to improve fairness by controlling the interpacket gap in the event of channel capture
EP0919090B1 (en) Apparatus and method for selectively reducing capture effect in a network station
JP3531043B2 (en) Method, system and apparatus for determining whether there is enhanced functionality between a first station and a second station in a communication network
US5940399A (en) Methods of collision control in CSMA local area network
US5353287A (en) Local area network with message priority
US5859837A (en) Flow control method and apparatus for ethernet packet switched hub
JP3155492B2 (en) Network access method
US5351241A (en) Twisted pair ethernet hub for a star local area network
JP2723212B2 (en) Communication access control method and communication control device
US20080049771A1 (en) Method and System for Efficient and Reliable Mac-Layer Multicast Wireless Transmissions
US5600651A (en) Binary logarithmic arbitration method for carrier sense multiple access with collision detection network medium access control protocols
US5854900A (en) Method and apparatus avoiding capture effect by adding a slot time to an interpacket gap interval in a station accessing an ethernet network
US6205153B1 (en) System and method for improving CSMA/CD network performance during collisions
EP0904645B1 (en) Rotating priority arrangement in an ethernet network
US6434112B1 (en) Frame transmission method
US5864558A (en) Dynamic transmit tuning for ethernet device drivers
US6778551B1 (en) Collision control systems and methods utilizing an inter-frame gap code counter
US6522661B1 (en) Method for improving fairness in use of network
US5717889A (en) Collison reduction algorithm for an ethernet backoff protocol
USRE36353E (en) Methods and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture
US6009104A (en) Apparatus and method for selectively modulating interpacket gap interval following a collision to avoid capture effect
Molle et al. Frame bursting: a technique for scaling CSMA/CD to gigabit speeds
JP2001292150A (en) Communication control method

Legal Events

Date Code Title Description
AS Assignment

Owner name: CABLETRON SYSTEMS, INC., NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIGITAL EQUIPMENT CORPORATION;REEL/FRAME:009050/0477

Effective date: 19980206

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: ENTERASYS NETWORKS, INC., NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CABLETRON SYSTEMS, INC.;REEL/FRAME:011219/0376

Effective date: 20000929

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: OBSIDIAN, LLC, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ENTERASYS NETWORKS, INC.;REEL/FRAME:017656/0552

Effective date: 20060516

Owner name: WELLS FARGO FOOTHILL, INC., CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ENTERASYS NETWORKS, INC.;REEL/FRAME:017656/0552

Effective date: 20060516

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: WELLS FARGO TRUST CORPORATION LIMITED, AS SECURITY

Free format text: GRANT OF SECURITY INTEREST IN U.S. PATENTS;ASSIGNOR:ENTERASYS NETWORKS INC.;REEL/FRAME:025339/0875

Effective date: 20101109

AS Assignment

Owner name: ENTERASYS NETWORKS, INC., MASSACHUSETTS

Free format text: RELEASE AND REASSIGNMENT OF PATENTS AND PATENT APPLICATIONS AT REEL/FRAME NO. 17656/0552;ASSIGNORS:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.);ENTERPRISE COMMUNICATIONS FUNDING GMBH, AS SUCCESSOR IN INTEREST TO OBSIDIAN, LLC;REEL/FRAME:025406/0769

Effective date: 20101110

AS Assignment

Owner name: ENTERASYS NETWORKS INC., MASSACHUSETTS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 25339/0875;ASSIGNOR:WELLS FARGO TRUST CORPORATION LIMITED;REEL/FRAME:031558/0677

Effective date: 20131031