Claims
- 1. A system for maintaining a sequence of packets in a computer network, said system comprising:a producer node configured to serially transmit request packets via a first communication path and to serially receive acknowledge packets via a second communication path; a consumer node coupled to transmit acknowledge packets to said producer node via said second communication path in response to receiving said request packets via said first communication path; wherein said producer node includes a pipelining subsystem configured to pipeline packets to said consumer node in the absence of acknowledgment of previously transmitted, unprocessed packets; wherein said producer node and said consumer node includes a bypass buffer configured to shunt received packets from a receive port to a transmit port, wherein said bypass buffer is further configured to suspend a shunt operation in response to said producer node inserting a new request packet.
- 2. The system as recited in claim 1, wherein a given request packet includes:a producer identifier field capable of encoding an originating node identifier; a label field capable of encoding a unique packet identifier; a data field; a checksum field including an error detection code.
- 3. The system as recited in claim 2, wherein a given acknowledge packet includes:a consumer node speed field capable of encoding a speed rating of said consumer node; said producer identifier field capable of encoding an originating node identifier; said label field capable of encoding a unique packet identifier; a checksum field including an error detection code.
- 4. The system as recited in claim 3, wherein said producer node includes a counter subsystem configured to determine a sequence count difference between a first said unprocessed packet and a current packet.
- 5. The system as recited in claim 4, wherein said producer node includes a cutoff subsystem configured to terminate said pipelining of said packets when said sequence count difference reaches a predetermined threshold.
- 6. The system as recited in claim 5, wherein said producer node includes a busy detection subsystem configured to detect a busy condition at said consumer node.
- 7. The system as recited in claim 6, wherein said producer node includes a packet suspension subsystem configured to suspend pipelining of said packets when said busy condition is detected.
- 8. The system as recited in claim 7, wherein said producer node includes a node monitoring subsystem configured to determine when said consumer node fails to meet a predetermined response criterion.
- 9. The system as recited in claim 8, wherein said node monitoring subsystem includes a busy acknowledgement queue configured to store a plurality of busy acknowledgements received from said consumer node.
- 10. The system as recited in claim 9, wherein said node monitoring subsystem is configured to make said determination based upon said busy acknowledgement queue storing at least a predetermined number of said busy acknowledgements.
- 11. The system as recited in claim 10, wherein said predetermined response criterion includes a predetermined amount of time during which said producer node receives a plurality of busy acknowledgements from said consumer node.
- 12. The system as recited in claim 11, wherein said predetermined response criterion includes a predetermined amount of time during which said producer node receives no acknowledgements from said consumer node.
Parent Case Info
This application is a continuation of application Ser. No. 09/493,925 filed Jan. 28, 2000, now U.S. Pat. No. 6,233,615 which is a division of application Ser. No. 08/673,849 filed Jul. 1, 1996, now U.S. Pat. No. 6,065,052.
US Referenced Citations (4)
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/493925 |
Jan 2000 |
US |
Child |
09/854294 |
|
US |