EP0335964B1

Computer interconnect coupler for clusters of data processing devices.

Abstract

This record has no abstract on file.

EP0335964B1, drawing sheet 1
Sheet 1 of 24

Term

Term ended

Expired 13 October 2008, 17.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

26 claims: 16 independent, 10 dependent

  1. 1
    A computer interconnect coupler (51) for transmitting messages among multiple data processing devices (54, 55, 56, 57, 58, 59, 60), each of which has a communication port, said coupler having:a plurality of electronic switching means (87, 90), each of which is connected to a communication port of one of said data processing devices to provide a communication channel (81, 85) for receiving messages from and sending messages to that device, said switching means having separate receiving means (84) and transmitting means (97) for each of said channels;a plurality of connections (89, 96) associated with each of said switching means for transmitting messages among said switching means;and central switch logic means (144) connected to said switching means for assigning connections to transmit the messages arriving at one of said switching means from a source device to a switching means connected to a destination device designated by the message;CHARACTERIZED IN THAT said computer interconnect coupler includes:    a queue (174) for queuing REQUESTS TO ROUTE messages which designate a common destination device whose communication channel is busy, and means (172) for retrieving the oldest REQUEST from said queue when said busy communication channel is no longer busy.
  2. 6
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 5, wherein said switching means (87, 90) is mounted on multiple circuit boards (122, 123), each of said circuit boards has means for generating a status code representing the status of the respective board, said status code indicates channel numbers associated with the respective board, and said computer interconnect coupler includes a diagnostic processor (112) including means for polling multiple circuit board locations including the locations of said circuit boards and reading said status code from said circuit boards which are present.
  3. 7
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 6, wherein said switching means (87, 90) and said central switch logic means (44) include circuit boards (121, 122, 123) having non-volatile memory means (EEPROM) for receiving diagnostic information, and said computer connect coupler includes a diagnostic processor (112) connected to said circuit boards via a diagnostic bus (120), said diagnostic processor includes means for diagnosing faulty ones of said circuit boards and writing diagnostic information to said memory means on said faulty circuit boards before such boards are removed for repair, and said diagnostic information includes information about the system state at the time of diagnosing the faulty circuit boards and error indicating data that led to the diagnosis.
  4. 8
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 7, wherein said switching means (87, 90) are mounted on multiple circuit boards (122, 123), and said central switch logic means (44) is mounted on at least one other circuit board (121), each of said circuit boards has means for generating a status code representing the status of the respective board, said status code indicates the type of the respective board and error conditions associated with the respective board, and said computer interconnect coupler includes a diagnostic processor (112) including means for polling multiple circuit board locations including the locations of said circuit boards and reading said status code from said circuit boards which are present.
  5. 9
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 8, wherein said receiving means (84) includes origin identifying means for identifying the data processing device from which each of said messages originated, and wherein said computer interconnect coupler includes:storing means (164, 165) for storing sets of valid destination addresses including a respective set of valid destination addresses for each one of said data processing devices;validating means (241, 242) coupled to said receiving means and said storing means for determining whether or not the destination address of each message is included in the respective set of valid destination addresses for the data processing device from which said each message originated, and for asserting an enable signal when the destination address of said each message is included in the respective set of valid destination addresses for the data processing device from which said each message originated;and means coupled to said receiving means and said validating means for selectively transmitting each message to the data processing device identified by the destination address in said each message as the desired destination of said each message only when said validating means asserts said enable signal indicating that the destination address of said each message is in the respective set of valid destination addresses for the data processing device from which said each message originated.
  6. 13
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 12, wherein each of said receiving means (84, 94) includes a first-in-first-out buffer (143) of a predetermined storage capacity for temporarily storing initial portions of each message received by said each receiving means while awaiting assignment of connections (87) and for permitting assignment of said connections during receiving of said initial portions of said each message received by said each receiving means and permitting the assigned connections to convey without interruption variable-length messages exceeding said predetermined storage capacity.
  7. 14
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 13, wherein each data processing device includes means for inserting into messages originating from said each data processing device a source address identifying said each data processing device as the originator of the messages originating from said each data processing device;and wherein each receiving means (84) includes verifying means (307) responsive to the source address in each message for comparing said source address to a respective preassigned address for said each receiving means and generating an error signal when the source address in said each message received by said each receiving means is different from the respective preassigned source address for said each receiving means;and wherein said computer interconnect coupler further includes means (105) for reporting said error signal from said each receiving means to an operator (104).
  8. 15
    The computer interconnect coupler as claimed in any of the preceding claims 1 to 14, wherein each transmitting means (97) includes verifying means (451, 452, 455, 456, 461) responsive to a destination address in each message received from at least one of said connections by said each transmitting means for verifying that said each message received by said each transmitting means is actually received from the connection assigned for said each message, said verifying means including means for comparing (451) said destination address in each message received by said each transmitting means to a respective preassigned destination address for said each transmitting means, and means (461) for preventing the transmission of said each message received by said each transmitting means to a respective one of said data processing devices connected to said each transmitting means when said means for comparing determines that the destination address in said each message is different from the respective preassigned destination address for said each transmitting means.
  9. 16
    A method of transmitting messages among multiple data processing devices (54, 55, 56, 57, 58, 59, 60), each of which has a communication port, each message including a destination address identifying a respective one of said data processing devices as a desired destination of said each message, said method including the steps of:transmitting messages over a respective communication channel (81, 85) from the communication port of each data processing device to a respective electronic switching means (87, 90) having respective receiving means (84) and transmitting means (97) for said each data processing device, the respective receiving means and transmitting means for said each data processing device being connected to said each data processing device, each of said switching means having connections (89, 96) for selectively interconnecting its receiving means to the transmitting means of a selected other one of the electronic switching means;and selecting a connection for transmitting each message arriving at a receiving means to the transmitting means of said switching means for the data processing device identified by the destination address of said each message arriving at the receiving means;CHARACTERIZED IN THAT said method includes:    queuing message ROUTING REQUESTS for messages which designate a common destination device whose communication channel is busy, retrieving, when said busy communication channel is no longer busy, the oldest message ROUTING REQUEST having been queued for said common destination device.
  10. 19
    The method as claimed in any of the preceding claims 16 to 18, wherein the selecting is performed by accessing a central memory (145) storing a record (170) of assignment of said connections to find an available connection, and updating the record of assignment of said connections to indicate that the selected connection is no longer available, connecting the selected connection, and transmitting said each message over the selected connection.
  11. 20
    The method as claimed in any of claims 16 to 19, further including the step of inserting some of said messages into said flow control signal so that the data processing devices receiving said flow control signal receive the messages inserted into said flow control signal while retransmission of messages from the data processing devices receiving the flow control signal is inhibited.
  12. 22
    The method as claimed in any of the preceding claims 16 to 21, wherein said switching means (87, 90) are mounted on multiple circuit boards (122, 123) connected together by a bus (120), and each of said circuit boards generates a status code representing the status of the respective board and indicating channel numbers associated with the respective board, and said method includes polling multiple circuit board locations along said bus including the locations of said circuit boards and reading said status codes from said circuit boards which are present.
  13. 23
    The method as claimed in any of the preceding claims 16 to 22, wherein said switching means (87, 90) include circuit boards (122, 123) connected together by a bus (120), each of said circuit boards have non-volatile memory means (EEPROM) for receiving diagnostic information, and said method includes diagnosing faulty ones of said circuit boards and writing diagnostic information to said memory means on said faulty circuit boards before the faulty circuit boards are removed from said bus for repair, removing said faulty circuit bards for repair and transporting the faulty boards to a repair facility, and repairing said faulty boards at said repair facility using said diagnostic information stored in said non-volatile memory means.
  14. 24
    The method as claimed in any of the preceding claims 16 to 20, wherein said switching means (87, 90) are mounted on multiple circuit boards (122, 123) connected together by a bus (120), each of said circuit boards has means for generating a status code representing the status of the respective board, said status code indicates the type of the respective board and error conditions associated with the respective board, and said method includes polling multiple circuit board locations along said bus including the locations of said circuit boards and reading said status code from said circuit boards which are present.
  15. 25
    The method as claimed in any of the preceding claims 16 to 24, which includes verifying that each message received by each transmitting means (97) from one of said connections (96) is actually received from a connection assigned for said each message, wherein said verifying is performed by comparing the destination address in said each message to a respective address preassigned to said each transmitting means, and preventing the transmission of said each message from said each transmitting means to the data processing device connected to said each transmitting means when the destination address in said each message is different from the respective address preassigned to said each transmitting means.
  16. 26
    The method as claimed in any of the preceding claims 16 to 25, where each message includes a source address identifying the respective one of the data processing devices from which the message originated, and said method includes comparing the source address of each message received at each receiving means (84) to a respective address preassigned to said each receiving means, generating an error signal when said each message has a source address different from the respective address preassigned to said each receiving means, reporting the error signal to a human operator (104), and in response to receipt of the error signal by the human operator, checking whether the data processing devices are properly connected to their respective receiving means.
Independent claims16