Computer interconnect coupler for clusters of data processing devices
First Claim
1. A computer interconnect coupler for transmitting messages among multiple data processing devices each of which has a communication port, said coupler comprising a plurality of electronic switching means each of which is connected to a communication port of one of said data processing devices to provide a communication channel for receiving messages from and sending messages to that device, said switching means having separate receiving means and transmitting means for each of said channels,a plurality of connections associated with each of said switching means for transmitting messages among said switching means,central switch logic means connected to all of 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,a first-in-first-out queue for queuing message information for messages which designate a common destination device whose communication channel is busy, and means for retrieving the oldest message information from said queue when said busy communication channel is no longer busy, andmeans responsive to the queuing of said message information when the communication channel designated by the message is busy for activating the transmitting means for the message-originating channel to send a flow control signal to the data processing device of that channel to inhibit the retransmission of messages from that device when said flow control signal is being transmitted, wherein said transmitting means includes means for inserting a message into said flow control signal so that the data processing device receiving said flow control signal can receive messages while the retransmission of outgoing messages from that device is inhibited.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer interconnect coupler has channel transmitters and channel receivers and logic circuitry for the routing of messages from the channel receivers which are addressed to the channel transmitters. When a message is received by a channel receiver, the channel receiver stores the beginning portion of the message in a first-in-first-out buffer, and sends a route message request to central switch logic. If the destination transmitter or receiver is busy, the central logic places the message request on a destination queue and returns a signal to the requesting source transmitter to turn on a flow control signal which is transmitted back to the data processing device having originated the message. Any message addressed to this data processing device, however, is inserted into the flow control carrier with pauses both before and after the message, and provisions are also made to allow the data processing data to return an acknowledgment responsive to the incoming message. To permit incremental expansion of the coupler to accommodate an increased number of channels, additional channel interface boards may be added. The coupler also includes a plurality of timers which determine fault conditions, and a diagnostic processor monitors the timers and associated error flags to diagnose faults to the board level. The conditions existing at the time of fault diagnosis are written into a non-volatile memory located on the circuit board. Therefore, the information is physically carried along with the board to the repair facility.
76 Citations
8 Claims
-
1. A computer interconnect coupler for transmitting messages among multiple data processing devices each of which has a communication port, said coupler comprising a plurality of electronic switching means each of which is connected to a communication port of one of said data processing devices to provide a communication channel for receiving messages from and sending messages to that device, said switching means having separate receiving means and transmitting means for each of said channels,
a plurality of connections associated with each of said switching means for transmitting messages among said switching means, central switch logic means connected to all of 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, a first-in-first-out queue for queuing message information for messages which designate a common destination device whose communication channel is busy, and means for retrieving the oldest message information from said queue when said busy communication channel is no longer busy, and means responsive to the queuing of said message information when the communication channel designated by the message is busy for activating the transmitting means for the message-originating channel to send a flow control signal to the data processing device of that channel to inhibit the retransmission of messages from that device when said flow control signal is being transmitted, wherein said transmitting means includes means for inserting a message into said flow control signal so that the data processing device receiving said flow control signal can receive messages while the retransmission of outgoing messages from that device is inhibited.
-
2. A computer intercoinnect coupler for transmitting messages among multiple data processing devices each of which has a communication port, said coupler comprising
a plurality of electronic switching means each of which is connected to a communication port of one of said data processing devices to provide a communication channel for receiving messages from and sending messages to that device, said switching m eans having separate receiving means and transmitting means for each of said channels, a plurality of connections associated with each of said switching means for transmitting messages among said switching means, central switch logic means connected to all of 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, a first-in-first-out queue for queuing message information for messages which designate a common destination device whose communication channel is busy, and means for retrieving the oldest message information from said queue when said busy communication channel is no longer busy, and means responsive to the queuing of said message information when the communication channel designated by the message is busy for activating the transmitting means for the message-originating channel to send a flow control signal to the data processing device of that channel to inhibit the retransmission of messages from that device when said flow control signal is being transmitted, wherein said central switch logic means includes means responsive to the appearance of message information at the head of said queue for terminating the transmission of said flow control signal to the data processing device which originated said message.
-
3. A computer interconnect coupler for transmitting messages among multiple data processing devices each of which has a communication port, said coupler comprising
a plurality of electronic switching means each of which is connected to a communication port of one of said data processing devices to provide a communication channel for receiving messages from and sending messages to that device, said switching means having separate receiving means and transmitting means for each of said channels, a plurality of connections associated with each of said switching means for transmitting messages among said switching means, central switch logic means connected to all of 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, said electronic switching means being mounted on multiple circuit boards, each of said circuit boards having means for generating a status code representing the status of the respective board, said status code indicating channel numbers associated wtih the respective board, and a diagnostic processor 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.
-
4. A computer interconnect coupler for transmitting messages among multiple data processing devices each of which has a communication port, said coupler comprising
a plurality of electronic switching means each of which is connected to a communication port of one of said data processing devices to provide a communication channel for receiving messages from and sending messages to that device, said switching means having separate receiving means and transmitting means for each of said channels, a plurality of connections associated with each of said switching means for transmitting messages among said switching means, central switch logic means connected to all of said switching means for assigning connecitons 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, said switching means and said central switch logic means including circuit boards having non-volatile memory means for receiving diagnostic information, and a diagnostic processor connected to said circuit boards via a diagnostic bus, said diagnostic processor including 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, said diagnostic information including information about the system state at the time of diagnosing the faulty circuit boards and error indicating data that led to the diagnosis.
-
5. A method of transmitting messages among multiple data processing devices each of which has a communication port, said method comprising the steps of
transmitting messages over a respective communication channel from the port of each data processing device to a respective electronic switching means having respective receiving means and transmitting means for that particular device, each of said messages including address data identifying the desired destination of the message, selecting a connection for transmitting each message arriving at a receiving means to the transmitting means of the electronic switching means for the data processing device at the destination identified in the message, connecting the selected connection to the switching means of the message-originating device and the destination device, transmitting each message from the switching means of the message-originating device via the selected connection to the transmitting means for the destination device, and then on to the destination device, generating respective status codes representing the status of each of a multiplicity of circuit boards including said electronic switching means, said circuit boards being disposed at certain ones of a plurality of predefined circuit board locations, said status codes indicating the types of the respective boards and channel numbers associated with the respective boards, said status codes being generated on the respective boards, and polling multiple circuit board locations and reading said status codes from circuit boards which are present.
-
6. A method of transmitting messages among multiple data processing devices each of which has a communication port, said method comprising the steps of
transmitting messages over a respective communication channel from the port of each data processing device to a respective electronic switching means having respective receiving means and transmitting means for that particular device, each of said messages including address data identifying the desired destination of the message, selecting a connection for transmitting each message arriving at a receiving means to the transmitting means of the electronic switching means for the data processing device at the destination identified in the message, connecting the selected connection to the switching means of the message-originating device and the destination device, transmitting each message from the switching means of the message-originating device via the seleced connection to the transmitting means for the destination device, and then on to the destination device, writing diagnostic information to non-volatile memory means of faulty circuit boards before such circuit boards are removed for repair, said faulty circuit boards including certain ones of said electronic switching means, removing said faulty circuit boards 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.
-
7. A computer interconnect coupler for transmitting messages among multiple data processing devices each of which has a communication port, said coupler comprising
a plurality of electronic switching means each of which is connected to a communication port of one of said data processing devices to provide a communication channel for receiving messages from and sending messages to that device, said switching means having separate receiving means and transmitting means for each of said channels, a plurality of connections associated wtih each of said switching means for transmitting messages among said switching means, central switch logic means connected to all of said switching means for assigning coninections to transmit the messages arriving at one of said switching means from a so urce device to a switching means connected to a destination device designated by the message, said electronic switching means being mounted on multiple circuit boards, and said central switch logic means being mounted on at least one other circuit board, each of said circuit boards having means for generating a status code representing the status of the respective board, said status code indicating the type of the respective board and error conditions associated with the respective board, and a diagnostic processor 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.
-
8. A method of transmitting messages among multiple data processing devices each of which has a communication port, said method comprising the steps of
transmitting messages over a respective communication channel from the port of each data processing device to a respective electronic switching means having respective receiving means and transmitting means for that particular device, each of said messages including address data identifying the desired destination of the message, selecting a connection for transmitting each message arriving at a receiving means to the transmitting means of the electronic switching means for the data processing device at the destination identified in the message, connecting the selected connection to the switching means of the message-originating device and the destination device, transmitting each message from the switching means of the message-originating device via the selected connection to the transmitting means for the destination device, and then on to the destination device, generating respective status codes representing the status of each of a multiplicity of circuit boards including said electronic switching means, said circuit boards being disposed at certain ones of a plurality of predefined circuit board locations, said status codes indicating types of the respective boards and error conditions associated with the respective boards, said status codes being generated on the respective boards, and polling multiple circuit board locations and reading said status codes from circuit boards which arek present.
Specification