Patent US6016510A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6016510A Expired / Lapsed US ⏱️ 0.0 years remaining

TORUS routing element error handling and self-clearing with programmable watermarking

Assignee: Fujitsu Siemens Computers Inc
•
Filing: 1998-06-24
•
Granted: 2000-01-18
•
Expires: 2018-06-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a massively parallel processing (MPP) system, data transmission between a first routing element to a buffer in a second routing element can be controlled more efficiently by generating a high and low watermark for the buffer, wherein the watermark values are based on a period of time required to transmit data between the routing elements. The amount of data stored in the buffer is then continuously compared to the high watermark value, and if the amount of data in the buffer is greater than or equal to the high watermark value, the first routing element becomes blocked from transmitting additional data to the buffer in the second routing element.

Inventors

  • 👤 Marc Alan Quattromani
  • 👤 Mark S. Myers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 20:44
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/29; G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/524; H04L47/28; H04L47/283; H04L47/30

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 121 words
A method for controlling the transmission of message packet data along a connection between a first routing element and a second routing element comprising the steps of: transmitting data along the connection from the first routing element to a buffer in the second routing element; determining a first pre-programmed quantity based on a period of time required to transmit data along the connection between the first and the second routing elements; comparing the quantity of data in the buffer to the first pre-programmed quantity; and blocking the first routing element from transmitting additional data to the buffer in the second routing element as a function of the comparison between the quantity of data in the buffer and the first pre-programmed quantity.
Claim 2
Independent Claim 121 words
A method for controlling the transmission of message packet data along a connection between a first routing element and a second routing element comprising the steps of: transmitting data along the connection from the first routing element to a buffer in the second routing element; determining a first pre-programmed quantity based on a period of time required to transmit data along the connection between the first and the second routing elements; comparing the quantity of data in the buffer to the first pre-programmed quantity; and blocking the first routing element from transmitting additional data to the buffer in the second routing element as a function of the comparison between the quantity of data in the buffer and the first pre-programmed quantity.
Claim 3
Dependent Claim 72 words
The method of claim 1 further comprising the steps of: after blocking the first routing element from transmitting data to the second routing element, comparing the quantity of data in the buffer to a second pre-programmed quantity; unblocking the first routing element if the quantity of data in the buffer is less than or equal to the second pre-programmed quantity, wherein the second pre-programmed quantity is less than the first pre-programmed quantity.
Claim 4
Dependent Claim 36 words
The method of claim 2 further comprising the step of: determining the second pre-programmed quantity based on a period of time required to transmit data along the connection between the first and the second routing elements.
Claim 5
Dependent Claim 11 words
The method of claim 2, wherein the buffer is a FIFO.
Claim 6
Dependent Claim 20 words
The method of claim 4, wherein the quantity of data reflects a number of FIFO storage locations that contain data.
Claim 7
Dependent Claim 133 words
In a massively parallel processing system, a method for controlling data transmission from a first routing element to a buffer in a second routing element comprising the steps of: generating a high and a low watermark value for the buffer in the second routing element based on a period of time required to transmit data between the first routing element and the second routing element, wherein the high and low watermark values each represent a number of storage locations in the buffer that contain data; comparing a current number of data words stored in the buffer with the high watermark value; and if the current number of data words stored in the buffer is greater than or equal to the high watermark value, blocking the first routing element from transmitting additional data words.
Claim 8
Dependent Claim 133 words
In a massively parallel processing system, a method for controlling data transmission from a first routing element to a buffer in a second routing element comprising the steps of: generating a high and a low watermark value for the buffer in the second routing element based on a period of time required to transmit data between the first routing element and the second routing element, wherein the high and low watermark values each represent a number of storage locations in the buffer that contain data; comparing a current number of data words stored in the buffer with the high watermark value; and if the current number of data words stored in the buffer is greater than or equal to the high watermark value, blocking the first routing element from transmitting additional data words.
Claim 9
Dependent Claim 105 words
The method of claim 6, wherein said step of generating a high watermark value based on the time period required to transmit data between the first and the second routing elements comprises the steps of: transmitting a first control code from the second routing element to the first routing element; transmitting a second control code from the first routing element to the second routing element; measuring the time period required to transmit the control code to the first routing element and to retransmit the control code to the second routing element; and determining the high and low watermark values based on the measured time period.
Claim 10
Dependent Claim 57 words
The method of claim 7, wherein said step of determining the high and low watermark values based on the measured time period comprises the step of: establishing the high and low watermark values by using the measured time period as a mapping value to point to the high and low watermark values stored in a look-up table.
Claim 11
Dependent Claim 52 words
The method of claim 7, wherein said step of determining the high and low watermark values based on the measured time period comprises the step of: establishing the high and low watermark values by utilizing the measured time period to solve an arithmetic expression which yields the high and low watermark values.
Claim 12
Dependent Claim 85 words
The method of claim 6 further comprising the steps of: after blocking the first routing element from transmitting data to the second routing element, comparing the number of data words stored in the buffer to the low watermark value; and if the number of data words stored in the buffer is equal to or less than the low watermark value, unblocking the first routing element from transmitting data to the second routing element, wherein the low watermark value is less than the high watermark value.
Claim 13
Dependent Claim 58 words
The method of claim 10, wherein the high watermark value represents a first number of storage locations in the buffer which is less than a maximum number of storage locations in the buffer, and the low watermark value represents a second number of storage locations in the buffer which is less than the first number of storage locations.
Claim 14
Dependent Claim 48 words
The method of claim 11, wherein said step of unblocking the first routing element from transmitting data to the second routing element comprises the step of: dispatching a code from the second routing element to the first routing element that indicates the buffer is available to receive data.
Claim 15
Dependent Claim 47 words
The method of claim 6, wherein the step of blocking the first routing element from transmitting additional data words comprises the step of: transmitting a code from the second routing element to the first routing element indicating that the buffer is not available to receive additional data.
Claim 16
Dependent Claim 11 words
The method of claim 6, wherein the buffer is a FIFO.
Claim 17
Independent Claim 154 words
An apparatus for controlling the transmission of message packet data along a connection between a first routing element and a second routing element comprising: output means for transmitting data along the connection from the first routing element to a buffer in the second routing element; means for determining a first pre-programmed quantity based on a period of time required to transmit data along the connection between the first and the second routing elements; control logic means in the second routing element for comparing a quantity of data in the buffer to the first pre-programmed quantity; and code generator means in the second routing element for generating a code to block the first routing element from transmitting additional data to the buffer in the second routing element, wherein said code generator means is responsive to said control logic means and the comparison between the quantity of data in the buffer and the first pre-programmed quantity.
Claim 18
Independent Claim 154 words
An apparatus for controlling the transmission of message packet data along a connection between a first routing element and a second routing element comprising: output means for transmitting data along the connection from the first routing element to a buffer in the second routing element; means for determining a first pre-programmed quantity based on a period of time required to transmit data along the connection between the first and the second routing elements; control logic means in the second routing element for comparing a quantity of data in the buffer to the first pre-programmed quantity; and code generator means in the second routing element for generating a code to block the first routing element from transmitting additional data to the buffer in the second routing element, wherein said code generator means is responsive to said control logic means and the comparison between the quantity of data in the buffer and the first pre-programmed quantity.
Claim 19
Dependent Claim 84 words
The apparatus of claim 15 further comprising: after blocking the first routing element from transmitting data to the second routing element, second control logic means for comparing the quantity of data in the buffer to a second pre-programmed quantity, wherein the code generator means generates a code for unblocking the first routing element if the quantity of data in the buffer is less than or equal to the second pre-programmed quantity, and wherein the second pre-programmed quantity is less than the first pre-programmed quantity.
Claim 20
Dependent Claim 35 words
The apparatus of claim 16 further comprising: means for determining the second pre-programmed quantity based on a period of time required to transmit data along the connection between the first and the second routing elements.
Claim 21
Dependent Claim 11 words
The apparatus of claim 16, wherein the buffer is a FIFO.
Claim 22
Dependent Claim 20 words
The apparatus of claim 18, wherein the quantity of data reflects a number of FIFO storage locations that contain data.
Claim 23
Dependent Claim 160 words
In a massively parallel processing system, an apparatus for controlling data transmission from a first routing element to a buffer in a second routing element comprising: selection means for determining a high and a low watermark value for the buffer in the second routing element based on a period of time required to transmit data between the first routing element and the second routing element, wherein the high and low watermark values each represent a number of storage locations in the buffer that contain data; logic means for comparing a current number of data words stored in the buffer with the high watermark value; and if the current number of data words stored in the buffer is greater than or equal to the high watermark value, code generation means for generating a code to block the first routing element from transmitting additional data words to the second routing element, wherein said code generation means is responsive to said logic means.
Claim 24
Dependent Claim 160 words
In a massively parallel processing system, an apparatus for controlling data transmission from a first routing element to a buffer in a second routing element comprising: selection means for determining a high and a low watermark value for the buffer in the second routing element based on a period of time required to transmit data between the first routing element and the second routing element, wherein the high and low watermark values each represent a number of storage locations in the buffer that contain data; logic means for comparing a current number of data words stored in the buffer with the high watermark value; and if the current number of data words stored in the buffer is greater than or equal to the high watermark value, code generation means for generating a code to block the first routing element from transmitting additional data words to the second routing element, wherein said code generation means is responsive to said logic means.
Claim 25
Dependent Claim 114 words
The apparatus of claim 20, wherein said selection means for determining the high and the low watermark values based on a the time period required to transmit data between the first and the second routing elements comprises: means for transmitting a control code from the second routing element to the first routing element; means for retransmitting the control code from the first routing element to the second routing element; counter for measuring the time period required to transmit the control code to the first routing element and to retransmit the control code to the second routing element; and means for determining the high and low watermark values based on the measured amount of time.
Claim 26
Dependent Claim 70 words
The apparatus of claim 21, wherein said selection means for determining the high and low watermark values based on the measured time period required to transmit data between the first and the second routing elements further comprises: means for establishing the high and low watermark values by using the measured time period as a mapping value to point to the high and low watermark values stored in a look-up table.
Claim 27
Dependent Claim 65 words
The apparatus of claim 21, wherein said selection means for determining the high and low watermark values based on the measured time period required to transmit data between the first and the second routing elements further comprises: means for establishing the high and low watermark values by utilizing the measured time period to solve an arithmetic expression which yields the high and low watermark values.
Claim 28
Dependent Claim 90 words
The apparatus of claim 20 further comprising: after blocking the first routing element from transmitting data to the second routing element, second logic means for comparing the number of data words stored in the buffer to the low watermark value, wherein said code generation means includes means for generating a code to unblock the first routing element if the number of data words stored in the buffer is equal to or less than the low watermark value, and wherein the low watermark value is less than the high watermark value.
Claim 29
Dependent Claim 58 words
The apparatus of claim 24, wherein the high watermark value represents a first number of storage locations in the buffer which is less than a maximum number of storage locations in the buffer, and the low watermark value represents a second number of storage locations in the buffer which is less than the first number of storage locations.
Claim 30
Dependent Claim 36 words
The apparatus of claim 25, wherein said code generation means further comprises: means for dispatching a code from the second routing element to the first routing element that indicates the buffer is available to receive data.
Claim 31
Dependent Claim 38 words
The apparatus of claim 20, wherein said code generation means further comprises: means for transmitting a code from the second routing element to the first routing element indicating that the buffer is not available to receive additional data.
Claim 32
Dependent Claim 11 words
The apparatus of claim 20, wherein the buffer is a FIFO.
Claim 33
Independent Claim 91 words
A method for controlling the transmission of message packet data along a connection between a first routing element and a second routing element comprising the steps of: transmitting data along the connection between the first routing element and the second routing element; determining a value of length for the connection between the first routing element and the second routing element; and selecting one of a number of preprogrammed high-low watermark value pairs as a function of the length of the connection between the first routing element and the second routing element.
Claim 34
Independent Claim 91 words
A method for controlling the transmission of message packet data along a connection between a first routing element and a second routing element comprising the steps of: transmitting data along the connection between the first routing element and the second routing element; determining a value of length for the connection between the first routing element and the second routing element; and selecting one of a number of preprogrammed high-low watermark value pairs as a function of the length of the connection between the first routing element and the second routing element.
Claim 35
Dependent Claim 170 words
The method of claim 29, where said step of determining the length of the connection between the first routing element and the second routing element comprises the steps of: transmitting a code word from the second routing element to the first routing element, and simultaneously, initiating a counter in the second routing element; retransmitting the code word from the first routing element to the second routing element; upon receiving the code word at the second routing element, stopping the counter; and determining an amount of time required for the code word to travel from the second routing element to the first routing element and from the first routing element to the second routing element based on the value of the counter, wherein the amount of time required for the code word to travel from the second routing element to the first routing element and then back to the second routing element is proportional to the length of the connection between the first routing element and the second routing element. --

References Cited (Backward Citations)

US4933933A Cited
US5105424A Cited
US5771356A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-17 2003-07-19 2004-01-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-17 2007-07-19 2008-01-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-17 2011-07-19 2012-01-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag