Resources Contact Us Home
Browse by: INVENTOR PATENT HOLDER PATENT NUMBER DATE
 
 
Method and apparatus which allows devices with multiple protocol capabilities to configure to a common protocol configuration
RE39812 Method and apparatus which allows devices with multiple protocol capabilities to configure to a common protocol configuration

Patent Drawings:
Inventor: Edem, et al.
Date Issued: September 4, 2007
Application: 11/192,461
Filed: July 28, 2005
Inventors: Edem; Brian C. (San Jose, CA)
Kola; Srinivas (Milpitas, CA)
Assignee: National Semiconductor Corporation (Santa Clara, CA)
Primary Examiner: Nguyen; Chau
Assistant Examiner: Moore; Ian N.
Attorney Or Agent: Girard & Equitz LLP
U.S. Class: 370/447; 370/462; 370/466
Field Of Search: 370/447; 370/446; 370/244; 370/467; 340/825.56; 375/239; 714/41; 714/706
International Class: H04L 12/413
U.S Patent Documents: 4953210; 5311114; 5432775; 5617418
Foreign Patent Documents:
Other References: "Draft Supplement to IEEE 802.3 Standard", pp. 1-31 (Section 28 et seq.), Jun. 16, 1994, (Appendix 1 filed with the original application.).cited by other.
"IEEE Link Task Force Autodetect Specification for NWay Autodetect Version 1.0", Six introductory pages plus pp. 1-60, Apr. 10, 1994. (Appendix 2 filed with the original application.). cited by other.

Abstract: An apparatus matches the configuration of a first station of a local area network to the configuration of the second station of the local area network. The first station detects a protocol advertisement from the second station that indicates a protocol in which the second station is capable of operating. The first station compares the indicated protocol of the second station to a protocol in which the first station is capable of operating. The first station determines, when the result of the comparison is negative, which of the first station and the second station is a higher priority station. The first station advertises, to the second station, a protocol capability of the first station, The first station changes the advertised protocol capability of the first station when it is determined that the first station is the higher priority station. The first station waits for the advertised protocol capability of the second station to change when it is determined that the second station is the higher priority station.
Claim: What is claimed is:

1. An apparatus for matching a transmission protocol of a first station of a point-to-point data communication network to a transmission protocol of a second station of thenetwork, comprising: protocol detecting means associated with the first station for detecting an advertised available protocol from the second station that indicates a protocol in which the second station is capable of operating; protocol comparingmeans associated with the first station for comparing the indicated protocol of the second station to a protocol in which the first station is capable of operating; priority determining means for determining, when the result of the protocol comparisonis negative, which of the first station and the second station is a higher priority station for protocol negotiation; protocol advertising means associated with the first station for advertising, to the second station, a protocol of the first station; advertised protocol changing means associated with the first station for changing the advertised protocol of the first station when the priority determining means determines that the first station is the higher priority station for protocol negotiation; and waiting means for waiting for an indication of a change in condition of the second station when the priority determining means determines that the second station is the higher priority station for protocol negotiation.

2. The apparatus of claim 1, wherein the advertised available protocol of the second station is encoded by the second station into a first protocol datum transmitted from the second station to the first station, wherein the detecting meansdetects the available protocol of the second station from the first protocol datum.

3. The apparatus of claim 2, wherein the protocol advertising means encodes the protocol of the first station into a second .[.configuration.]. .Iadd.protocol .Iaddend.datum for transmission to the second station.

4. The apparatus of claim 3, wherein the first protocol datum is transmitted from the second station to the first station within a burst of fast link pulses.

5. The apparatus of claim 1, wherein the indication of a change in condition of the second station is a change in the advertised available protocol of the second station.

6. The apparatus of claim 1, wherein the advertised protocol changing means includes "available protocol" determining means for determining whether there are available protocols, other than the advertised protocol of the first station, in whichthe first station is capable of operating, and wherein the advertised protocol changing means changes the advertised protocol of the first station only when the "available protocol" determining means determines that there are other available protocols.

7. The apparatus of claim 1, wherein the priority determining means is a first priority determining means, and further comprising: capability detecting means associated with the first station for detecting an advertised available capabilityfrom the second station that indicates a capability in which the second station is capable of operating; capability comparing means associated with the first station for comparing the indicated capability of the second station to a capability in whichthe first station is capable of operating; second priority determining means for determining, when the result of the capability comparison is negative, which of the first station and the second station is a higher priority station for capabilitynegotiation; capability advertising means associated with the first station for advertising, to the second station, a capability of the first station; advertised capability changing means associated with the first station for changing the advertisedcapability of the first station when the second priority determining means determines that the first station is the higher priority station for capability negotiation, wherein the waiting means is also for waiting for an indication of a change incondition of the second station when the second priority determining means determines that the second station is the higher priority station for capability negotiation.

8. The apparatus of claim 7, wherein the advertised capability changing means includes "available capability" determining means for determining whether there are available capabilities, for the advertised protocol of the first station and otherthan the advertised capability of the first station protocol of the first station, in which the first station is capable of operating, and wherein the advertised capability changing means changes the advertised capability of the first station only whenthe other capability determining means determines that there are other available capabilities.

9. The apparatus of claim 8, wherein the waiting means is also for waiting for a change in condition of the second station when the "available capability" determining means determines that there are no available capabilities for the advertisedprotocol of the first station other than the advertised capability of the first station, in which the first station is capable of operating.

10. The apparatus of claim 9, wherein the advertised protocol changing means is also for changing the advertised protocol of the first station when the waiting means determines that there is no indication of a change in condition of the secondstation within a predetermined amount of time after the "available capability" determining means determines that there are no available capabilities for the advertised protocol of the first station other than the advertised capability of the firststation protocol of the first station, in which the first station is capable of operating.

11. The apparatus of claim 10, wherein the advertised protocol changing means includes "available protocol" determining means for determining whether there are available protocols, other than the advertised protocol of the first station, inwhich the first station is capable of operating, and wherein the advertised protocol changing means changes the advertised protocol of the first station only when the other protocol determining means determines that there are other available protocols.

12. The apparatus of claim 11, wherein the waiting means is further for waiting a predetermined time before the protocol detecting means associated with the first station detects an advertised available protocol from the second station.

13. The apparatus of claim 7, wherein the advertised capability changing means is further for changing the advertised capability of the first station when the waiting means determines that there is no indication of a change in condition of thesecond station with a predetermined amount of time after the second priority determining means determines that the second station is the higher priority station for capability negotiation.

14. The apparatus of claim 13, wherein the advertised capability changing means includes "available capability" determining means for determining whether there are available capabilities, for the advertised protocol of the first station otherthan the advertised capability of the first station protocol of the first station, in which the first station is capable of operating, and wherein the advertised capability changing means changes the advertised capability of the first station only whenthe "available capability" determining means determines that there are other available capabilities.

15. The apparatus of claim 14, wherein the waiting means is also for waiting for a change in condition of the second station when the "available capability" determining means determines that there are no available capabilities for theadvertised protocol of the first station other than the advertised capability of the first station protocol of the first station, in which the first station is capable of operating.

16. The apparatus of claim 15, wherein the advertised protocol changing means is also for changing the advertised protocol of the first station when the waiting means determines that there is no indication of a change in condition of the secondstation within a predetermined amount of time after the "available capability" determining means determines that there are no available capabilities for the advertised protocol of the first station and other than the advertised capability of the firststation protocol of the first station, in which the first station is capable of operating.

17. The apparatus of claim 16, wherein the advertised protocol changing means includes "available protocol" determining means for determining whether there are available protocols, other than the advertised protocol of the first station, inwhich the first station is capable of operating, and wherein the advertised protocol changing means changes the advertised protocol of the first station only when the "available protocol" determining means determines that there are other availableprotocols.

.Iadd.18. An apparatus for matching a transmission protocol of a first station of a point-to-point data communication network to a transmission protocol of a second station of the network, comprising: protocol detecting means associated withthe first station for detecting an advertised available protocol from the second station that indicates a protocol in which the second station is capable of operating; protocol comparing means associated with the first station for comparing theindicated protocol of the second station to a protocol in which the first station is capable of operating; priority determining means for determining, when the result of the protocol comparison is negative, which of the first station and the secondstation is a higher priority station for protocol negotiation; protocol advertising means associated with the first station for advertising, to the second station, a protocol of the first station, with the protocol advertising means including apparatuswhich transmits a code word to the second station, with the advertised protocol of the first station being defined by a first group of at least two contiguous bits of the code word; advertised protocol changing means associated with the first stationfor changing the advertised protocol of the first station when the priority determining means determines that the first station is the higher priority station for protocol negotiation; and waiting means for waiting for an indication of a change incondition of the second station when the priority determining means determines that the second station is the higher priority station for protocol negotiation..Iaddend.

.Iadd.19. The apparatus of claim 18 wherein the first group of at least two contiguous bits includes at least five contiguous bits of the code word..Iaddend.

.Iadd.20. The apparatus of claim 19 wherein the code word includes consecutive bits D0 through D15 and wherein the at least five contiguous bits includes bits D0 through D4..Iaddend.

.Iadd.21. The apparatus of claim 18 wherein code word is transmitted by the first station using link pulses..Iaddend.

.Iadd.22. The apparatus of claim 21 wherein the link pulses include a burst of fast link pulses..Iaddend.

.Iadd.23. The apparatus of claim 18 wherein the transmission protocols include at least one protocol selected from a group of protocols which includes encoding schemes, transmission rate and access mechanism..Iaddend.

.Iadd.24. The apparatus of claim 18 wherein the indication of a change in condition of the second station is a change in the advertised available protocol of the second station..Iaddend.

.Iadd.25. The apparatus of claim 18 wherein the advertised protocol changing means includes "available protocol" determining means for determining whether there are available protocols, other than the advertised protocol of the first station,in which the first station is capable of operating, and wherein the advertised protocol changing means changes the advertised protocol of the first station only when the "available protocol" determining means determines that there are other availableprotocols..Iaddend.

.Iadd.26. The apparatus of claim 18 wherein the priority determining means is a first priority determining means, and further comprising: capability detecting means associated with the first station for detecting an advertised availablecapability from the second station that indicates a capability in which the second station is capable of operating; capability comparing means associated with the first station for comparing the indicated capability of the second station to a capabilityin which the first station is capable of operating; second priority determining means for determining, when the result of the capability comparison is negative, which of the first station and the second station is a higher priority station forcapability negotiation; capability advertising means associated with the first station for advertising, to the second station, a capability of the first station, with the capability advertising means including the apparatus which transmits the code wordto the second station, with the advertised capability being defined by a second group, different from the first group, of at least two contiguous bits of the code word; advertised capability changing means associated with the first station for changingthe advertised capability of the first station when the second priority determining means determines that the first station is the higher priority station for capability negotiation, wherein the waiting means is also for waiting for an indication of achange in condition of the second station when the second priority determining means determines that the second station is the higher priority station for capability negotiation..Iaddend.

.Iadd.27. The apparatus of claim 26 wherein the code word is transmitted by the first station using link pulses..Iaddend.

.Iadd.28. The apparatus of claim 27 wherein the link pulses include a burst of fast link pulses..Iaddend.

.Iadd.29. The apparatus of claim 26 wherein the first group of at least two contiguous bits includes at least five contiguous bits of the code word..Iaddend.

.Iadd.30. The apparatus of claim 29 wherein the second group of at least two contiguous bits includes at least five contiguous bits of the code word..Iaddend.

.Iadd.31. The apparatus of claim 30 wherein the code word includes consecutive bits D0 through D15 and wherein the first group of at least five contiguous bits includes bits D0 through D4 and wherein the second group of at least five contiguousbits includes bits D6 through D10..Iaddend.

.Iadd.32. The apparatus of claim 26 wherein the advertised capability changing means includes "available capability" determining means for determining whether there are available capabilities, for the advertised protocol of the first stationand other than the advertised capability of the first station protocol of the first station, in which the first station is capable of operating, and wherein the advertised capability changing means changes the advertised capability of the first stationonly when the other capability determining means determines that there are other available capabilities..Iaddend.

.Iadd.33. The apparatus of claim 32 wherein the waiting means is also for waiting for a change in condition of the second station when the "available capability" determining means determines that there are no available capabilities for theadvertised protocol of the first station other than the advertised capability of the first station, in which the first station is capable of operating..Iaddend.

.Iadd.34. The apparatus of claim 33 wherein the advertised protocol changing means is also for changing the advertised protocol of the first station when the waiting means determines that there is no indication of a change in condition of thesecond station within a predetermined amount of time after the "available capability" determining means determines that there are no available capabilities for the advertised protocol of the first station other than the advertised capability of the firststation protocol of the first station, in which the first station is capable of operating..Iaddend.

.Iadd.35. The apparatus of claim 34 wherein the advertised protocol changing means includes "available protocol" determining means for determining whether there are available protocols, other than the advertised protocol of the first station,in which the first station is capable of operating, and wherein the advertised protocol changing means changes the advertised protocol of the first station only when the other protocol determining means determines that there are other availableprotocols..Iaddend.

.Iadd.36. The apparatus of claim 35 wherein the waiting means is further for waiting a predetermined time before the protocol detecting means associated with the first station detects an advertised available protocol from the secondstation..Iaddend.

.Iadd.37. The apparatus of claim 26 wherein the advertised capability changing means is further for changing the advertised capability of the first station when the waiting means determines that there is no indication of a change in conditionof the second station with a predetermined amount of time after the second priority determining means determines that the second station is the higher priority station for capability negotiation..Iaddend.

.Iadd.38. The apparatus of claim 37 wherein the advertised capability changing means includes "available capability" determining means for determining whether there are available capabilities, for the advertised protocol of the first stationother than the advertised capability of the first station protocol of the first station, in which the first station is capable of operating, and wherein the advertised capability changing means changes the advertised capability of the first station onlywhen the "available capability" determining means determines that there are other available capabilities..Iaddend.

.Iadd.39. The apparatus of claim 38 wherein the waiting means is also for waiting for a change in condition of the second station when the "available capability" determining means determines that there are no available capabilities for theadvertised protocol of the first station other than the advertised capability of the first station protocol of the first station, in which the first station is capable of operating..Iaddend.

.Iadd.40. The apparatus of claim 39 wherein the advertised protocol changing means is also for changing the advertised protocol of the first station when the waiting means determines that there is no indication of a change in condition of thesecond station within a predetermined amount of time after the "available capability" determining means determines that there are no available capabilities for the advertised protocol of the first station and other than the advertised capability of thefirst station protocol of the first station, in which the first station is capable of operating..Iaddend.

.Iadd.41. The apparatus of claim 40 wherein the advertised protocol changing means includes "available protocol" determining means for determining whether there are available protocols, other than the advertised protocol of the first station,in which the first station is capable of operating, and wherein the advertised protocol changing means changes the advertised protocol of the first station only when the "available protocol" determining means determines that there are other availableprotocols..Iaddend.

.Iadd.42. An apparatus for matching a transmission protocol of a first station of a point-in-point data communication network to a transmission protocol of a second station of the network, comprising: protocol detecting means associated withthe first station for detecting an advertised available protocol from the second station that indicates a protocol in which the second station is capable of operating; protocol comparing means associated with the first station for comparing theindicated protocol of the second station to a protocol in which the first station is capable of operating; priority determining means for determining, when the result of the protocol comparison is negative, which of the first station and the secondstation is a higher priority station for protocol negotiation; protocol advertising means associated with the first station for advertising, to the second station, a protocol of the first station, with the protocol of the first station including atleast one protocol selected from a group of protocols which includes encoding schemes, transmission rates and access mechanism; advertised protocol changing means associated with the first station for changing the advertised protocol of the firststation when the priority determining means determines that the first station is the higher priority station for protocol negotiation; and waiting means for waiting for an indication of a change in condition of the second station when the prioritydetermining means determines that the second station is the higher priority station for protocol negotiation..Iaddend.

.Iadd.43. The apparatus of claim 42 wherein the priority determining means is a first priority determining means, and wherein the protocol advertising means includes apparatus which transmits a code word to the second station, with theadvertised protocol for the first station being defined by a first group of at least two contiguous bits of the code word, with said apparatus further comprising: capability detecting means associated with the first station for detecting an advertisedavailable capability from the second station that indicates a capability in which the second station is capable of operating; capability comparing means associated with the first station for comparing the indicated capability of the second station to acapability in which the first station is capable of operating; second priority determining means for determining, when the result of the capability comparison is negative, which of the first station and the second station is a higher priority stationfor capability negotiation; capability advertising means associated with the first station for advertising, to the second station, a capability of the first station, with the capability advertising means including the apparatus which transmits the codeword to the second station, with the advertised capability being defined by a second group, different from the first group, of at least two contiguous bits of the code word; advertised capability changing means associated with the first station forchanging the advertised capability of the first station when the second priority determining means determines that the first station is the higher priority station for capability negotiation, wherein the waiting means is also for waiting for anindication of a change in condition of the second station when the second priority determining means determines that the second station is the higher priority station for capability negotiation..Iaddend.
Description: TECHNICAL FIELD OF THE INVENTION

The present invention relates to local area networks, and in particular, to methods and apparatus which allows devices with multiple protocol capabilities to configure for a common protocol configuration.

BACKGROUND OF THE INVENTION

The IEEE 802.3 standard defines Carrier Sense Multiple Access/Collision Detection (CSMA/CD) as its Media Access Control (MAC) protocol for Ethernet local area networks (LAN's). A station connected to an Ethernet LAN may be fixedly configured tocommunicate with other stations of the LAN in a single mode (e.g. 10BASE-T, 10BASE-T Full Duplex, 100BASE-TX, 100BASE-TX Full Duplex, and 100BASE-T4), or the communication mode of the station may be changeable to match the configuration of the otherstations. In any case, the communication mode of a particular station must match the communication mode of another station before communication can take place between the two stations.

The proliferation of CSMA/CD-based LANs will spawn a new generation of multi-function hubs and nodes. The trend among hub vendors towards "virtual networks" wherein ports can be switched between LANs will necessitate that, without anauto-negotiation solution such as is provided by the present invention, users and information services managers will face difficult configuration management problems in the future.

The necessity for providing in a station means for automatically detecting the communication capabilities of other stations in a network has been recognized. A method and apparatus for performing such automatic detection is the subject ofcopending patent application Ser. No. 08/146,729, filed and assigned to National Semiconductor Corporation, the assignee of the present application. As described in the copending application, each of two connected stations communicates to the otherstation, via Fast Link Pulses, its respective communication capabilities. When each station has detected the other stations capabilities, the stations each automatically change to a configuration which provides the highest common denominator ofcapabilities.

However, the technology of LAN's is evolving such that manufacturers of LAN's will be providing stations which will are reconfigurable to support any of multiple protocols.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus which allows multi-protocol stations to automatically detect the protocols under which other stations can communicate, and for the connected stations to together select a common communicationprotocol.

The present invention solves the problem of configuring the growing available matrix for RJ-45 CSMA/CD compatible LANs by providing a simple, robust scheme to advertise, detect and resolve the capabilities of two stations connected with UTP. With the present invention, the upgrade occurs automatically and seamlessly from 10BASE-T to desired higher performance modes without requiring the presence of a management agent.

The present invention interoperates with all 10BASE-T compatible devices such that the installed network base will not be affected by the new generation of RJ-45 LAN technologies if NWay is adopted as a standard. NWay can be applied universallyacross node and hub products because the architecture is symmetric in nature and does not establish a master/slave hierarchy.

A low gate count and simple architecture make the present invention both easy to understand and cost effective. The cost and complexity are realistically bounded by providing a rich enough code space to meet the current projected higherperformance mode and figure LAN technology needs. Although this protocol addresses the problem for CSMA/CD protocol LANs, it should be understood that other technologies can benefit from the use of this communication mechanism.

The present invention also provides a powerful management tool which allows:

1. Manual override of auto-negotiation;

2. Renegotiation on management intervention;

3. Remote Fault Sensing;

4. Parallel Advertisement of capabilities; and

5. Storage of remote capabilities.

The negotiation time is bounded for good links sufficiently to ensure that popular network protocol connections do not time out. Even in a noise UTP environment, the handshaking and redundant pattern comparison ensures robust operation.

A better understanding of the features and advantages of the invention will be obtained by reference to the following detailed description and accompanying drawings which set forth an illustrative embodiment in which the principles of theinvention are utilized.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates normal link pulse (NLP) timing.

FIG. 2 illustrates the timing of fast link pulse (FLP) bursts.

FIGS. 3, 4, and 5 summarize the FLP pulse and burst timing.

FIG. 6 illustrates a possible link code word encoding.

FIG. 7 shows a possible Technology Ability Field encoding when the selector field value indicates a CSMA/CD compatible protocol.

FIG. 8 shows, for the selector field indicating a CSMA/CD compatible protocol, examples of how multiple technologies are advertised simultaneously.

FIG. 9 is a block-level diagram that illustrates how the protocol/configuration auto-agreement mechanism is implemented within each station.

FIG. 10 shows the arbitration state machine.

FIG. 11 shows the Transmit state machine.

FIG. 12 shows the Receive state machine.

FIG. 13 illustrates the application of the FLP Detect Timers.

FIG. 14 illustrates the operation of the FLP Burst Timer.

FIG. 15 illustrates the operation of FLP Data Detect Timers.

FIG. 16 is a table which summarizes the timer minimum and maximum values.

FIG. 17-19 illustrates an example of how an NWay Capable station negotiates with a station that is only capable of 10BASE-T and that is in Link_Fail State.

FIG. 18 shows the case in which the 10BASE-T only station begins receiving FLPs in between bursts.

FIG. 19 shows the case in which the 10BASE-T only station begins receiving FLPs just before the last pulse in an FLP burst.

FIG. 20 illustrates an example of how an Auto-Detect Capable station negotiates with a station that is only capable of 10BASE-T and that is in Link_Fail State.

FIG. 21 illustrates negotiation between two Auto-Detect Capable stations that have multiple Common Capabilities.

FIG. 22 illustrates negotiation between two 100BASE-T4 auto-detect capable stations.

FIG. 23 and 23A-23C are a flowchart of a protocol arbitration resolution algorithm (PARA) in accordance with the present invention.

FIG. 24 shows a bit definition for a PID selector word.

FIG. 25 schematically illustrates an example of a small network.

DETAILED DESCRIPTION OF THE INVENTION

In the CSMA/CD protocol, as defined in IEEE 802.3, a 10BASE-T Normal Link Pulse (NLP) is applied on a network link segment to assist stations connected to the segment in determining the segment's integrity. Such a Link Pulse scheme is known inthe art. As shown in FIG. 1, an NLP has a nominal pulse width of 100 ns. The pulses are transmitted every 16 ms +/- 8 ms while the segment is active, but not transmitting regular packet data (i.e. in an IDLE mode).

NLP's are used to control a station's entry to and exit from a Link Loss State. That is, a station enters Link_Loss_State when no NLP's are received by the station for more than link loss timer time. Link_loss_timer time typically ranges from50 ms to 150 ms. A station exits Link_Loss_State when it detects a number of NLP's, typically two to ten.

The present invention substitutes a Fast Link Pulse Burst (FLP) for a single 10BASE-T NLP. An FLP burst, as shown in FIG. 2, consists of a maximum of 33 pulses. The 33 pulses are a combination of 17 clock pulses, with an optional data pulsebeing interleaved between each pair of adjacent clock pulses. In this manner, 16 data bits can be transmitted in each FLP burst--a 1 data bit is encoded as a data pulse between a pair of adjacent clock pulses, and a 0 data bit is encoded as the absenceof a data bit between the pair of adjacent clock pulses.

Individual pulses in an FLP burst have the same 100 ns width as NLP's, with both clock and data pulses having the same width. Clock pulses are spaced apart by 125 .mu.secs. Data bits, if present, are centered between a pair of adjacent clockpulses. FIGS. 3, 4, and 5 summarize the FLP pulse and burst timing.

In accordance with an embodiment of the present invention, a method and apparatus are provided which allows a station at one end of a LAN link segment to advertise the protocols, and modes within those protocols, in which it can operate, and tolikewise detect the protocols and modes in which a remote station at the other end of the link segment can operate (or at least those protocols and modes that the station at the other end of the link segment is advertising). The communication of modestakes place via the data communicated in a 16-bit "link code word" encoded in FLP bursts, as described above.

FIG. 6 illustrates a possible link code word encoding. Bits D0-D4 denote a "Selector Field" which indicates a particular protocol under which the station advertising the link code word can communicate. Bit D5 denotes an "Acknowledge Bit". Astation sets this bit in the link code word it is advertising when it has successfully received the remote station's link code word. Bits D6-D13 denote a "Technology Ability Field". These bits are mapped to individual technologies such that abilitiesare advertised in parallel for each selector field value. Also, multiple technologies may be advertised simultaneously by simultaneously setting the bits in the Technology Ability Field that correspond to the technologies. FIG. 7 shows a possibleTechnology Ability Field encoding when the selector field value indicates a CSMA/CD compatible protocol. FIG. 8 shows, for the selector field indicating a CSMA/CD compatible protocol, examples of how multiple technologies are advertised simultaneously. Bits D11-D14 are reserved for future use; these bits should be masked out upon reception of the link code word. Bit D15 is a "Next Page Bit" which provides a mechanism to transmit additional protocol and capability information in the link code word. That is, the Next Page Bit being set indicates that the other bits of the link code word contain protocol- and/or capability-specific information.

The present invention further provides a method and apparatus for using the protocol and capability information advertised in link code words communicated between two stations on a LAN link, of which one or both of the stations aremulti-protocol/multi-capable, for each station to automatically detect the other stations advertised protocol/configuration capabilities and further automatically agree on a protocol/configuration under which the stations can interoperate. Uponcompletion of the auto-agreement, each station configures its link, in accordance with the results of the auto-agreement, for interoperation with the other link.

FIG. 9 is a block-level diagram that illustrates how the protocol/configuration auto-agreement mechanism is implemented within each station. Preferably, the auto-agreement mechanism operates symmetrically so that a single implementation can beused in any multi-protocol/multi-capable station. In this way, both stations are on equal footing in the auto-negotiation process, with neither station being a "master" or "slave".

FIG. 9 illustrates the relationship between four state machines which are used to implement the auto-agreement mechanism within a station. An Arbitration State Machine controls the overall protocol/capability exchange process within the station,using and guiding the Transmit State Machine and the Receive State Machine. The Transmit State Machine controls the transmission of station protocol/capabilities using FLP bursts. The Receive State Machine controls the receipt of individual clock anddata pulses within a Fast Link Pulse burst. A 10BASE-T Link Pulse State Machine controls the reception and transmission of NLP's when the station is communicating with a 10BASE-T station.

Finally, a Technology Dependent Link Integrity Test State Machine (or Machines) may co-exist with the auto-agreement scheme. For example, the Technology Dependent Link Integrity Test State Machine may be a 100BASE-TX Link Test-Fail State Machinewhich controls the reset logic for the Convergence Sub-Layer of the 100BASE-TX standard. When in Link_Fail, the Idle Line State is continuously sent.

Each of the auto-agreement state machines are now described in detail.

The arbitration state machine is shown in FIG. 10. The purpose of this state machine is to control the FLP transmit state machine and determine if a remote station has its technology abilities, either through FLPs or through atechnology-dependent signalling scheme. At power on, or upon the assertion of technology-dependent link-fail condition, this state machine moves into Capability Detect state to allow the FLP transmit state machine to start sending FLP bursts containingthe local station's technology abilities to the far-end station. The results of FLP receive state machine are to be used to determine technology ability match.

A technology ability match occurs when this state machine is in Ability Detect state, and three consecutive FLP bursts contain the same pattern ignoring the acknowledge bit. Once a capability match occurs, the FLP arbitration state machine movesinto Acknowledge Detect state.

In Acknowledge Detect state, it transmits the same data pattern with the acknowledge bit set, to indicate to the far-end station that it has captured its technology abilities.

In the case of unexplained loss of FLP bursts coming from the far-end station, under which the FLP receive state machine goes to IDLE state, this state machine goes back to Ability Detect state to restart negotiation from scratch. Whileremaining in the Acknowledge Detect state, it waits to receive acknowledge_match from the far-end station. Acknowledge_match occurs when two out of three consecutive FLP bursts received have the acknowledge bit set. In order to guarantee that thefar-end station has completed acknowledge_match, a minimum of 4-6 acknowledge patterns are transmitted. Subsequently, it transitions to FLP_link_good state. After this point, the technology-specific link signalling scheme takes over, if needed for thespecific technology (e.g., 100BASE-TX, 100BASE-T4). If this technology-specific link signalling scheme does not successfully complete in a technology determined period of time, then technology_link_fail is asserted, and the Arbitration State Machinestarts renegotiation.

If the far-end station does not detect and transmit FLP bursts, and instead sends a technology-dependent signal (e.g., 10BASE-T link pulses, or 100BASE-TX Idle Line State transmissions), the technology-dependent_link_good signal thereby haltingFLP burst transmits.

In addition, upon successful establishment of technology-dependent link, the technology-dependent link integrity test state machine goes to link fail and the arbitration state machine goes back to the Ability Detect state.

A higher-level management agent can start a renegotiation of technology abilities with the far-end station by asserting the renegotiate signal. The state machine moves into Transmit Disable state to wait for the far-end station to go into alink-fail state and then starts FLP burst transmissions.

The Transmit state machine is shown in FIG. 11. The purpose of this state machine is to transmit a sequence of 33 fast link-pulses to the far-end station, when instructed by the arbitration state machine. The idle stats is entered at power-onand this state machine transitions to this state if the arbitration state machine is in the FLP_link_good state.

The transmit_link_pulse_timer (14+/- 8 msec) is used to separate two consecutive fast link-pulse bursts transmitted.

If the arbitration state machine is in the process of sending the capability to the far-end station, then the transmit state machine enters into the Transmit_Capability state. If acknowledgement is to be sent, then the state machine entersTransmit_Acknowledge state to initialize ack_cnt (416), and then it moves to Transmit_Capability state. In this state, the bit_cnt is started to keep track of the 16 bits of data to be transmitted.

The state machine then alternates between the Transmit_Clock_Bit state and Transmit_Data_Bit state to transmit clock bit and to transmit data bit (if the data bit to be transmitted is logic one) respectively. The interval_timer (62.5+/- 15.mu.s) is used to separate a clock bet and a data bit.

Once all 16 bits of data are transmitted, if the state machine is in the midst of sending acknowledgement patterns then the state machine moves to the Transmit_Count_Ack state. However, after 16 bits of data transmission, if the state machine isnot in the midst of sending acknowledgement patterns, then the state machine moves to idle directly.

The state machine returns to idle after a 16-bit capability has been transmitted. In the Transmit_Count_Ack state, if 4-6 acknowledgement patterns have been sent, it goes back to idle, otherwise it waits for 14+/8 msec and moves toTransmit_Capability state to send the next burst of 16-bit acknowledgement pattern.

The Receive state machine is shown in FIG. 12. This state machine is used to identify that the link pulses received are fast-link-pulse bursts, and if so, to store the embedded 16-bit data in a shift-register. A burst of thirty-three linkpulses separated by 62.5 uS conveys the capability of the far-end station. A link pulse is considered part of a FLP burst if it occurs within a certain time of the previous link-pulse. It is detected by the use of the two timers: FLP_test_min_timer andFLP_test_max_timer. The purpose of the FLP_test_min_timer is to mask out any noise or ringing effects on the line. The FLP_test_max_timer is used to determine whether the next link-pulse received is within a window to be of fast-link-pulse category.

FIG. 13 illustrates the application of the FLP Detect Timers (FLP_test_min/max_timers). The Link Receive state machine goes to the idle state at power-on or when the arbitration state machine forces it to this state. When the Link Receive statemachine is in idle state, a reception of a link-pulse causes a transition to the Link_Pulse_Detect state.

At this point, both the FLP_test_min_timer and FLP_test_max _timer are started. The FLP_test_min_timer has a value of 5 to 25 .mu.s. The FLP_test_max_timer has a value of 165 to 185 .mu.s. If another link-pulse is received in the window oftime such that the FLP_test_min_timer has timed out, but the FLP_test_max_timer has not completed, the state machine makes a transition to Link_Pulse_Count state.

In the Link_Pulse_Count state, FLP_count is incremented. If consecutive number of fast link pulses are received, i.e., the FLP_count equals FLP_count_max (6 to 8), then the far-end station is considered FLP capable, and all Technology-Specificlink integrity test state machines (e.g., 10BASE-T link_integrity_test_state machine) are forced into Freeze state.

The Receive state machine then goes into a FLP_Pass state to ignore the rest of the incoming fast link-pulse burst. This is accomplished by waiting for the idle interval after the last link pulse of the current burst, i.e., an idle period of 165to 185 .mu.s has been observed. At this time, the state machine transitions into FLP-Capture state, and is ready to capture a complete burst of fast link pulses from the far-end station.

In the FLP-capture state, the link_test_max_timer (25-150 msec.) is started to insure that link pulse bursts are received within this window. When this timer expires, the state machine moves to the idle state to indicate the absence of FLPbursts.

FIG. 14 illustrates the operation of the FLP Burst Timer (Link_test_min/max_timers). The first link-pulse received in the FLP_capture state is interpreted as a clock bit. Two consecutive clock bits can envelop a data bit. The presence of adata bit is interpreted as a logic one for the corresponding data bit field of the shift register. The absence of the data bit is interpreted as a logic zero for the corresponding data bit field of the shift register. Two consecutive clock pulses areseparated by 125+/- 15 .mu.s. The separation of a subsequent data bit from a clock bit is 62.5+/-15 .mu.s. These margins are designed to by symmetric for both local and far-end stations.

In the FLP_Clock state, the data_detect_min_timer (15 to 47 .mu.s) and data_detect_max_timer (78 to 110 .mu.s) are started. If a link-pulse is received when the data_detect_max_timer has completed and data_detect_max_timer is not, it isinterpreted as a data-bit of logic one. On the other hand, if the next clock_bit arrives, as indicated by data_detect_max_timer_done, then the embedded data bit is assumed to be zero. In the FLP_Clock state, the link_test_min_timer (5 to 7 msec) isalso started; this timer is used to separate two consecutive fast-link pulse bursts.

FIG. 15 illustrates the operation of FLP Data Detect Timers (Data_detect_min/max_timers). The FLP_Data_0 state, a logic zero is shifted into the shift register. In FLP_Data_1 state, a logic one is shifted into the shift register and upon thereception of the next clock-bit, the state machine moves back to FLP_Clock state. Either upon the reception of the last clock bit, or due to a bit error corrupting the last clock but, the state machine moves to FLP_Capture state.

FIG. 16 is a table which summarizes the timer minimum and maximum values.

The only technology-specific state machine that is required is the 10BASE-T link integrity test state machine. This state machine is required for compatibility with existing 10BASE-T nodes.

Two modifications must be made to the original 10BASE-T link integrity test state machine. The first modification is that the state machine must power-up in the Link_Test_Fail_Reset state.

The second modification needed to the original 10BASE-T link integrity test state machine is to add another state called Freeze 10BASE-T. This state is entered upon the recognition of the far-end station's FLP capability and remains in this stateduring the negotiation phase. After the NWay negotiation is successfully completed, and the highest common denominator is determined to be 10BASE-T, the 10BASE-T Link integrity test state machine moves into the Link_test_pass_state. The state machineremains in the Freeze.sub.--10BASE-T state if the mode of communication selected is not 10BASE-T.

Additional technology-specific state machines can be added to implement technology-specific link testing.

The Peripheral Logic Block/Management Interface contains the following: 1) Three 16-bit shift registers to hold the received 16-bit capability information from the far-end station 2) a 2-bit counter to select the current shift-register of theabove-mentioned three, in which the data-bits are being shifted, 3) a 16-bit local capability register, 4) a 16-bit far-end capability register, 5) combinational gates to generate: capability_match signal for arbitration state machine, acknowledge_matchsignal for arbitration state machine, highest-common-denominator.

The next two sections provide the Technology Bit Field Assignments and Priority Resolution Table for the Message Selector.

Two nodes can have multiple abilities in common. In accordance with one embodiment of the present invention a prioritization scheme exists to ensure that the highest common denominator ability is chosen. For example, the following priority maybe used (from highest to lowest priority): 1) 100BASE-TX Full Duplex; 2) 100BASE-T4; 3) 100BASE-TX; 4) 10BASE-T Full Duplex; and 5) 10BASE-T.

The rationale for this hierarchy is straightforward. 10BASE-T is the lowest common denominator and therefore that the lowest priority. Full Duplex solutions are always higher in priority than their Half Duplex counterparts. 100BASE-T4 is aheadof 100BASE-TX because 100BASE-T4 runs across a broader spectrum of copper cabling.

Operational Examples

The following operational examples highlight the steps that are taken when attempting to establish a network connection between two nodes. Only three general cases are necessary to demonstrate all the different combinations of operation thatwill ever occur. The three cases are any auto-detect capable device to 10BASE-T, any auto-detect capable device to another auto-detect capable device, and any auto-detect capable device to a non-auto-detect capable device. All these examples fall intoone of these three cases.

Case 1: NWay Capable < - - - > 10BASE-T in Link_Fail State (FIG. 17)

This example highlights the invention's 100% backward compatibility with 10BASE-T. The 10BASE-T station in this example begins in the Link_Fail state and is transmitting Normal Link Pulses. The auto-detect capable station supports an arbitrary100 Mb/sll 10BASE-T capable or 100 Mb/s only capable node. Initially the NWay capable station comes up in the Link_Fail state and transmits FLP bursts to advertise its technology ability.

The normal 10BASE-T node receives the FLP's and remains in Link_Fail state because the timing of the FLP's do not allow a normal 10BASE-T station to misinterpret FLPs as Normal Link Pulses. To understand this, there are two main cases toconsider.

In the first case, shown in FIG. 18, the 10BASE-T only station begins receiving FLPs in between bursts. The link_test_min_timer (2-7 ms) expires and the first pulse in an FLP burst gets counted as a good link pulse. However, subsequent pulsesin the FLP burst arrive before the link_test_min_timer expires for a second time which resets the good link pulse counter to zero.

In the second case, shown in FIG. 19, the 10BASE-T only station begins receiving FLPs just before the last pulse in an FLP burst. This pulse is not counted as a good link pulse because the link_test_min_timer has not expired yet. This pulsetherefore keeps the good link pulse counter reset at zero. This case then proceeds like the first case.

No scenario causes the good link pulse counter to count higher than 1, which is less than the 2 to 10 required good link pulse specification, so the 10BASE-T only station will never mistakenly enter the Link_Pass state.

The 10BASE-T Link Integrity Test state machine is a required part of the auto-detect, regardless of 10BASE-T data transmit/receive capability. The NWay capable 100/10 node recognizes the NLPs being sent by the normal 10BASE-T node, switches overto 10BASE-T operation, and sends NLPs. The two stations then both communicate in 10BASE-T mode. If the auto-detect capable station is 100 Mb/s only, then it must still recognize 10BASE-T NLPs being sent. In response to NLPs, FLP burst transmission ishalted and no NLPs are transmitted by the 100 Mb/s only station.

Case 2: Auto-Detect Capable < - - - > 10BASE-T only in Link_Fail State (FIG. 20)

This example highlights auto-detect's 100% backward compatibility with 10BASE-T. The 10BASE-T station in this example begins in Link_Pass state and is transmitting Normal Link. Pulses or normal 10BASE-T traffic. The auto-detect capable stationis an arbitrary 100 Mb/sll 10BASE-T capable or 100 Mb/s capable station. Initially the auto-detect capable station comes up in Link_Fail state and transmits Fast Link Pulses to advertise its technology abilities.

The Normal 10BASE-T node receives the Fast Link Pulses and always remains in Link_Pass state because the link_loss_timer does not expire.

The auto-detect capable node's 10BASE-T specific link integrity test state machine identifies the link as being good due to receipt of 10BASE-T traffic or normal link pulses.

If no 10BASE-T data transmit/receive capability exists, then FLP bursts are halted, and no NLPs are transmitted by the auto-detect capable station, otherwise NLPs are transmitted and the link is established.

If some 10BASE-T Link Integrity Test state machine implementations transition from Link Pass state to Link Fail state due to FLPs, we are back to the previous auto-detect capable < - - - > 10BASE-T in Link Fail state example.

Case 3: Auto-Detect Capable Connection With Multiple Common Capabilities (FIG. 21)

This example highlights auto-detect capable station to auto-detect capable station auto-negotiation when multiple common technology abilities are supported by both stations. In this case it is assumed that both stations support Full Duplex100BASE-TX, 100BASE-T4 and 10BASE-T.

Both nodes come up in Link_Fail state and transmit FLP bursts encoded with their technology abilities. Each node learns its partners' technology abilities. In this case each node learns that it has Full Duplex 100BASE-TX, 100BASE-T4 and10BASE-T in common.

The built-in priority resolution table in each node indicates that full Duplex 100BASE-TX is the highest common denominator technology ability, so both nodes switch over to this technology ability and begin transmission.

Case 4: Auto-Detect Capable Connection Between 100BASE-T4 Nodes (FIG. 22)

This example highlights a connection between two 100BASE-T4 auto-detect capable stations. In this case it is assumed that each station supports 100BASE-T4 as its highest common denominator technology ability.

At this time the 100BASE-T4 technology ability can proceed through its own ability-specific link integrity test. This test can then do a specific test to insure that the two pairs of cable not used for auto-detect signalling are intact. In oneaspect of the present invention, redundant transmissions are relied upon to ensure that the transmitted 16-bit pattern is correctly received by the remote station. That is, the remote station must receive an identical 16-bit pattern three times in a rowbefore the acknowledgement pattern is transmitted. The acknowledgement pattern is the same 16-bit word with the acknowledge bit set. The reception of 2 out of 3 acknowledgement patterns completes the handshake. Thus, it is assured that the correctconfiguration information is exchanged.

The present invention provides an efficient mechanism for point-to-point communication that is efficient in terms of the amount of logic gates required. Regardless of the number of technology abilities supported, a total of 3 state machines, 6timers, 3 counters, and some peripheral logic is needed. An analysis of the architecture shows that the design will require approximately 400 cells to implement. In addition, the present invention has been architected as a simple mechanism which allowseasy comprehension by silicon suppliers.

It should be noted that this level of complexity remains fixed as new technologies emerge and need to coexist with the growing installed based of RJ-45 LANs. Alternative schemes that require separate and complex state machines for each patternwill be more complex and expensive to implement, especially as new LAN options are added.

The present invention can maintain compatibility when new options are added. As new CSMA/CD-compatible LAN technologies enter the market a reserved bit may be assigned to each technology. The new technology will be inserted into an updatedpriority table, as detailed in the Data Bit Field description. The relative hierarchy of the existing technologies need not change, thus providing backward compatibility. In preferred embodiments, the reserved bits are forced to zeros. This guaranteesthat devices implemented using the current priority table will be forwarded compatible with future devices using an updated priority table.

The present invention allows a station to advertise its complete set of CSMA/CD capabilities in one burst, a feature referred to as its "parallel advertising" capability. Advertising the complete set of capabilities in one pass allows a stationto immediately discover all capabilities in one pass and thus immediately discover all capabilities of the remote station. These capabilities can then be saved for passage to a management agent.

In accordance with a further embodiment, although a pair of stations default to their highest common denominator capability, other modes of interoperation may exist. For a variety of reasons, the network management agent may wish to reconfigurethe link.

Protocol Arbitration and Resolution Algorithm

In accordance with a further embodiment of the present invention, a Protocol Arbitration and Resolution Algorithm (PARA) algorithm allows for arbitration and resolution for capabilities within a given protocol and, further, between the protocolsthemselves until a common protocol and ability are identified. If no common ability is identified, then the link will not be established.

SOLUTION 1

The PARA's shown in flow-chart form in FIG. 23.

Start of Algorithm (label A):

On the reception of 3 consecutive and identical link code words (label A) all the four timers in the PARA are reset (label A). Protocol Identifiers Do Not Match (label B)

If the Protocol Identifiers (PID's) do no match (label B) then it will be verified if the local node can support other protocols (label 2). If another PID can be supported (label 2) then it will be set (label 3) in the 16 bit link code word orelse no change will be made to the PID. Control returns back to the beginning of the algorithm (label A). If the PID of the local node is not the lowest in the negotiating pair, then the local node will wait until the timer 1(Slave_code_word_Change_timer) is done (label 4) for the other node to change its PID and advertise. If no change is observed in the link code word, then it knows that the other node is incapable of protocol arbitration and becomes the arbitrationmaster (i.e., jumps to label 2). If there is a change in the link code word the local node knows that the link partner changed the PID and will have to renegotiate (label 5) and hence will return control back to beginning of the algorithm (label A). (Note: this accommodates for devices with multiple protocols with no protocol arbitration function and also for devices with multiple protocols but with the arbitration function disabled manually or by software).

Protocol Identifiers Match (label B):

If the protocol identifier's (PID) match (label B) then the capability fields of local node and its link partner are compared. If there are common capabilities then the highest common denominator amongst the common capabilities is chosen asspecified in NYway (label 6).

If the PID's match and there are no common abilities then both the link partners will evaluate to see who has the lowest ability field (label C).

Lower Ability With PID Match (label C)

If the local node has the lowest ability, then it will be verified if it has other abilities (label and if found true the new capability or abilities can be set in the 16 bit link code word and return to beginning of algorithm. On the other handif no other abilities are present then the local node will wait until timer 2 (Master_ability_change_timer) is done (label 8) giving time for the remote end (label 11) to advertise ability bits which it might not have previously advertised. If there isno change in the link code word, then the given PID is exhausted and hence a new PID will be set and negotiation will start at the beginning of the algorithm (label A).

Higher Ability With PID Match (label C)

In this case the remote link partner will be the negotiation master. Local node (label 11) will wait until timer 1 (Slave_code_word_change_timer) is done, to let the master change the ability bits and advertise the link code word. If there is achange in the bit field before this timer is done, then the master is still in control and negotiating. If no change is seen when the timer is done then the local node takes initiative/control from the remote master temporarily (label 12). The localnode sets additional ability bits in the link code word if it has any previously unadvertised abilities it might want to advertise now. Control will be transferred to the beginning of the algorithm. On the other hand if it does not have any new abilitybits to advertise then it will wait until the timer 3 (Slave_Negotiation_timer) is done (label 13). Before the timer 3 is done the remote master waits until its timer 2 (Master_ability_change_timer) is done, knows that all the feasible ability matchingoptions are exhausted in both the nodes and hence tries to change its PID as described in the section above (label 9) before losing the Negotiation master privilege. If the remote master has no PID arbitration capability, it will yield mastership to thelocal node. When the timer 3 (Slave_Negotiation_timer) is done at the local end the local node takes up negotiation control and advertises a new PID if it is capable.

TABLE-US-00001 Timer Slave_code_word_change_timer 11 .times. 16 = 176 ms 1: Timer Master_code_word_change_timer 22 .times. 16 = 352 ms 2: Master_ability_change_timer Timer Slave_Negotiation_timer 33 .times. 16 = 528 ms 3: TimerMaster_Negotiation_timer 36 .times. 16 = 576 ms. 4:

The following is an example for the application of "Protocol Arbitration and Resolution Algorithm" described above.

The following example shows how two systems can find a common protocol and a common set of capabilities. Assume a link with two endpoints, called X and Y. These Endpoints have the following protocols and abilities:

Endpoint X: Protocol 1: Abilities A B C Protocol 3: Abilities G H I

Endpoint Y: Protocol 2: Abilities D E F Protocol 3: Abilities I J K

Each protocol can represent a different encoding scheme, transmission rate, or access mechanism. Each ability can represent different configurations, modes of operation, or optional abilities.

Assume that X initially advertises Protocol 1, abilities A, B, C, (represented by the notation 1-ABC), and Y advertises 2-DEF. Since these protocols are different, they can not interoperate (label B). Since X is advertising a protocol with thesmallest encoded value, it is X's responsibility to select a new protocol (X:label 2, Y:label 4). Since X can not support Protocol 2, it will advertise Protocol 3. When X advertises Protocol 3, it decides that it would prefer to use Abilities G or H,and will initially only advertise 3-GH (X:label 4; Y:label 4).

Endpoint Y, now being the endpoint with the lowest encoded value for protocol, has two options--if it were capable of communicating using protocol 1, it could advertise it, forcing X to return to protocol 1, or, as in this case, it will advertiseprotocol 3-IJK (Y is willing to use any of its capabilities).

The protocols now match, but the intersection of the two sets of abilities is empty. If we assume that when the abilities (advertised by Y) are encoded that 3-IJK will represent a lower value than 3-GH (advertised by X), it will be endpoint Y'sresponsibility to change capabilities. Endpoint Y has no other options, and makes no changes (X:label 11; Y:label 8).

Endpoint X reaches a timeout 1 (i.e., when timer 1 or slave_code_word_change_timer is done), realizing that Y is unable to proceed, so X will change its advertisement (X:label 12) to include the additional ability of I (control transferafterwards to X:label A; Y:label A).

X's advertisement is now 3-GHI, which contains the common element 1 with Y's advertisement of 3-IJK, allowing the completion of arbitration (X:label 6; Y:label 6).

If endpoint X had no other capabilities (i.e., X has only abilities 3-GH), it too would make no changes to its capabilities, allowing timeout2 (i.e., timer 2 or Master_ability_change_timer is done) to be reached by endpoint Y. Upon reaching thistimeout2, Y has the opportunity to change to another protocol. In this case, there are no other protocols to be tried, and Y will make no changes to its advertisement.

A third timeout (timer 3 or Slave_negotiation_timer is done) is reached by X, indicating that Y was unable to select a new protocol, giving X the opportunity to select a new protocol. This mechanism allows X to initially ignore one of Y'sprotocol until X determined that there were no other common protocols.

SOLUTION II

This is a second method to achieve the same results but the arbitration is not done until all the protocol capabilities and technology abilities are exchanged between the two link partners.

The bits A7-A0 in the link code word in FIG. 6 have different definitions for different PID's or selector values in the link code word (D4-D0). A bit definition for a new PID/selector value of 00000 is defined and is used to initiate negotiationacross devices with multiple protocols. The bit definition in this case is defined in FIG. 24. The next page bit can be used to transfer vendor ID.

The link partners X and Y using this scheme for negotiation is described below:

Node X sends the link code word with selector/PID set to 00000, ack=0, series end bit=0, and a four bit binary encoded value of the number of protocols supported (to node Y).

If Node Y is not multiprotocol capable, then it will keep sending the link code word with the only PID it supports or can handle. On sensing this, Node X will identify that Node Y is not multiprotocol capable and will advertise with the same PIDas node Y, if X can handle that particular protocol. If there are common technology abilities between Node X and Node Y, then a link will be established. If Node X is not capable of the protocol advertised by Node Y, then a link cannot be established.

If Node Y is multiprotocol capable, then it also responds with PID=00000, the number of protocols it can support, and other information about itself through the link code word. As specified in the earlier portion of this description, the ack bitis set on the reception of 4-6 consecutive and consistent link code words. Both nodes begin to transmit their capabilities starting with the lowest PID value they support until all of the protocol capabilities, along with the technology ability bits,are transmitted. It is possible that one of the nodes with fewer protocol abilities can finish its transmission ahead of its link partner. In such a case, it will begin transmitting PID=00000 with the series end bit set to a "1". The node that islagging will soon catch up and will also begin transmitting PID=00000 and series end bit=1. Since both modes have advertised the end of transmission, this signifies the end of the capability exchange between the two nodes. (If all the protocolinformation received matches the binary encoded number of protocols identified in the first code word transmission, then there is no loss of information. Otherwise, the transmission will begin again.) From the beginning to the end of this negotiationwith PID=00000, NWay will not configure to the highest common denominator in any protocol. That is, it will be in a partial freeze state.

Now that all of the protocol abilities are known, the media access units (MAU's) in both the nodes will look up a common prioritization table to identify the highest common denominator common to both nodes.

The prioritization table gives the order in which a node prefers to configure based on the protocols and the abilities within that protocol. For example:

1) Protocol A, ability 1

2) Protocol B, ability 5

3) Protocol A, ability 2

4) Protocol B, ability 2

The abilities within a protocol can be mixed in the prioritization table with the abilities from other protocols. This gives tremendous flexibility beyond simply prioritizing the protocols. This also allows network management to mask outcertain abilities such that the chosen ability is the most optimal for the kind of service (like data transmission, reliable and isochronous for video/multimedia or lowest cost service etc.) required.

Thus, it can be seen that the protocol resolution and arbitration algorithm allows nodes supporting multiple protocols (e.g as shown in FIG. 25) to coexist on a single network. It allows a node (e.g. a computer) to scan the protocol capabilitiesof other nodes connected to it on the network and configure to a common and desirable protocol configuration.

It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. In particular, the invention has application beyond local area networks; it has applicationwherever there is communication between two stations.

It is intended that the following claims define the scope of the invention and that methods and apparatus within the scope of these claims and their equivalents be covered thereby.

* * * * *
 
 
  Recently Added Patents
Miniaturized cytometer for detecting multiple species in a sample
Semiconductor devices and manufacturing method thereof
LED flasher
Heat treatment apparatus, heat treatment method, and computer readable storage medium
Interconnections for crosswire arrays
Apparatus and method for ranging and noise reduction of low coherence interferometry LCI and optical coherence tomography OCT signals by parallel detection of spectral bands
Mechanism for suppressing grinding-cutting vibration
  Randomly Featured Patents
Multiple port diaphragm valve
Device for monitoring fertility in women by observing physical changes in body fluids
Process for the photoselective metallization on non-conductive plastic base materials
Stackable, foldable food container
Compliant link
Analog to pulse width converter for field emission displays
Portable reserved parking alarm system
Methods of making oxygen distribution members for fuel cells
Use of the 1:2 chromium complex of 1-amino-2-(3', 5'-dinitro-2'-hydroxyphenylazo)-4-sulfonaphthalene and alkali metal salts thereof for dyeing polyamides and oxide layers on aluminum and a
Method for random coloring of roof tiles