← Back to Patent Explorer
US5604866A Expired / Lapsed US ⏱️ 0.0 years remaining

Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1993-09-30
•
Granted: 1997-02-18
•
Expires: 2013-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for controlling the flow of messages transferred between modules of a computer system is disclosed. The system includes a receiver module comprising a buffer having a capacity to store a predetermined number of messages, and a transmitter module coupled to the receiver module. The transmitter module includes a counter for maintaining a count value representative of free space in the buffer. The transmitter module transmits a message to the buffer when the count value is greater than zero. Then, the transmitter module decrements the count value by a value characteristic of the transmitted message, such that the count value is updated to be representative of free space in the buffer after transmission of the message to the buffer.

Inventors

  • 👤 Ronald L. Kolb
  • 👤 Ramesh Padmanabhan
  • 👤 Eric M. Williams

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 20:05
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/42; G06F13/4204; G06F13/4221; G06F13/423

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 345 words
A system for controlling the flow of messages transferred between modules of a computer system, comprising: a plurality of receiver modules, each receiver module comprising a buffer having a capacity to store a number of messages; a transmitter module, coupled to each of said receiver modules, comprising: a plurality of counters, one for each of said plurality of receiver modules, for maintaining a count value representative of free space in said buffer of a receiver module; transmission means, coupled to each of said counters, for transmitting a message having an address corresponding to one of said plurality of receiver modules to said buffer in said one of said plurality of receiver modules when a count value corresponding to said one of said plurality of receiver modules is greater than zero, wherein the size of said message is smaller than said count value; decrementing means, responsive to said transmission, for decrementing said count value corresponding to said one of said plurality of receiver modules by a value equal to a size of said transmitted message, such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in said buffer in said one of said plurality of receiver modules; means for receiving an "Increment Count Value" message from said one of said plurality of receiver modules, wherein said "Increment Count Value" is representative of a size of a second message that has been retired from said buffer in said one of said plurality of receiver modules: and incrementing means responsive to receipt of said "Increment Count Value" message for incrementing said count value corresponding to said one of said plurality of receiver modules in accordance with said received "Increment Count Value" message such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in said buffer in said one of said plurality of receiver modules after retirement of said second message from said buffer in said one of said plurality of receiver modules.
Claim 2
Independent Claim 345 words
A system for controlling the flow of messages transferred between modules of a computer system, comprising: a plurality of receiver modules, each receiver module comprising a buffer having a capacity to store a number of messages; a transmitter module, coupled to each of said receiver modules, comprising: a plurality of counters, one for each of said plurality of receiver modules, for maintaining a count value representative of free space in said buffer of a receiver module; transmission means, coupled to each of said counters, for transmitting a message having an address corresponding to one of said plurality of receiver modules to said buffer in said one of said plurality of receiver modules when a count value corresponding to said one of said plurality of receiver modules is greater than zero, wherein the size of said message is smaller than said count value; decrementing means, responsive to said transmission, for decrementing said count value corresponding to said one of said plurality of receiver modules by a value equal to a size of said transmitted message, such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in said buffer in said one of said plurality of receiver modules; means for receiving an "Increment Count Value" message from said one of said plurality of receiver modules, wherein said "Increment Count Value" is representative of a size of a second message that has been retired from said buffer in said one of said plurality of receiver modules: and incrementing means responsive to receipt of said "Increment Count Value" message for incrementing said count value corresponding to said one of said plurality of receiver modules in accordance with said received "Increment Count Value" message such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in said buffer in said one of said plurality of receiver modules after retirement of said second message from said buffer in said one of said plurality of receiver modules.
Claim 3
Dependent Claim 58 words
The system of claim 1 wherein each of said plurality of receiver modules further comprises: retirement means for retiring said second message from said buffer in said one of said plurality of receiver modules; and receiver transmitting means for transmitting said "Increment Count Value" message to said transmitter module in response to said retirement of said second message.
Claim 4
Dependent Claim 50 words
The system of claim 2, further comprising at least one control line connecting said transmitter module to each of said plurality of receiver modules, wherein said transmitting means in each of said plurality of receiver modules transmits said "Increment Count Value" message to said transmitter module via said control line.
Claim 5
Dependent Claim 47 words
The system of claim 2, further comprising a bus connecting said transmitter module to each of said plurality of receiver modules, wherein said receiver transmitting means in each of said plurality of receiver modules transmits said "Increment Count Value" message to said transmitter module via said bus.
Claim 6
Independent Claim 336 words
A method of controlling the flow of messages transferred between modules of a computer system, the computer system comprising a plurality of receiver modules, each of said receiver modules comprising a buffer having a capacity to store a number of messages, and a transmitter module coupled to each of the plurality of receiver modules, the method comprising the steps of: (a) maintaining in the transmitter module count values representative of free space in the buffers of said plurality of receiver modules; (b) transmitting a message, having an address corresponding to one of said plurality of receiver modules, from the transmitter module to the buffer in said one of said plurality of receiver modules when a count value corresponding to said one of said plurality of receiver modules is greater than zero, wherein the size of said message is smaller than said count value; (c) decrementing in the transmitter module said count value corresponding to said one of said plurality of receiver modules by a value equal to a size of said transmitted message, such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in the buffer in said one of said plurality of receiver modules; (d) receiving in said transmitter module an "Increment Count Value" message from said one of said plurality of receiver modules, wherein said "Increment Count Value" is representative of a size of a second message that has been retired from said buffer of said one of said plurality of receiver modules: and (e) incrementing said count value corresponding to said one of said plurality of receiver modules in accordance with said received "Increment Count Value" message such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in said buffer in said one of said plurality of receiver modules after retirement of said second message from said buffer in said one of said plurality of receiver modules.
Claim 7
Independent Claim 336 words
A method of controlling the flow of messages transferred between modules of a computer system, the computer system comprising a plurality of receiver modules, each of said receiver modules comprising a buffer having a capacity to store a number of messages, and a transmitter module coupled to each of the plurality of receiver modules, the method comprising the steps of: (a) maintaining in the transmitter module count values representative of free space in the buffers of said plurality of receiver modules; (b) transmitting a message, having an address corresponding to one of said plurality of receiver modules, from the transmitter module to the buffer in said one of said plurality of receiver modules when a count value corresponding to said one of said plurality of receiver modules is greater than zero, wherein the size of said message is smaller than said count value; (c) decrementing in the transmitter module said count value corresponding to said one of said plurality of receiver modules by a value equal to a size of said transmitted message, such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in the buffer in said one of said plurality of receiver modules; (d) receiving in said transmitter module an "Increment Count Value" message from said one of said plurality of receiver modules, wherein said "Increment Count Value" is representative of a size of a second message that has been retired from said buffer of said one of said plurality of receiver modules: and (e) incrementing said count value corresponding to said one of said plurality of receiver modules in accordance with said received "Increment Count Value" message such that said count value corresponding to said one of said plurality of receiver modules is updated to be representative of free space in said buffer in said one of said plurality of receiver modules after retirement of said second message from said buffer in said one of said plurality of receiver modules.
Claim 8
Dependent Claim 48 words
The method of claim 5, further comprising the steps of: (f) retiring said second message from the buffer in said one of said plurality of receiver modules; and (g) transmitting said "Increment Count Value" message to the transmitter module in response to said retirement of said second message.
Claim 9
Dependent Claim 206 words
A transmitter for transmitting a first message to a receiver module, said receiver module being one of a plurality of receiver modules, said receiver module including a buffer for storing a plurality of messages including a second message, said transmitter comprising: a counter for maintaining a count value representative of free space in said buffer; transmission means for transmitting said first message to said buffer in said receiver module when said count value is greater than the size of said first message; decrementing means, responsive to said transmission, for decrementing said count value by a value equal to the size of said transmitted first message, such that said count value is updated to be representative of free space in said buffer; means for receiving an "Increment Count Value" message from said receiver module, wherein said "Increment Count Value" message is representative of a size of said second message that has been retired from said buffer; and incrementing means, responsive to receipt of said "Increment Count Value" message, for incrementing said count value in accordance with said received "Increment Count Value" message, such that said count value is updated to be representative of free space in said buffer after retirement of said second message from said buffer.
Claim 10
Dependent Claim 206 words
A transmitter for transmitting a first message to a receiver module, said receiver module being one of a plurality of receiver modules, said receiver module including a buffer for storing a plurality of messages including a second message, said transmitter comprising: a counter for maintaining a count value representative of free space in said buffer; transmission means for transmitting said first message to said buffer in said receiver module when said count value is greater than the size of said first message; decrementing means, responsive to said transmission, for decrementing said count value by a value equal to the size of said transmitted first message, such that said count value is updated to be representative of free space in said buffer; means for receiving an "Increment Count Value" message from said receiver module, wherein said "Increment Count Value" message is representative of a size of said second message that has been retired from said buffer; and incrementing means, responsive to receipt of said "Increment Count Value" message, for incrementing said count value in accordance with said received "Increment Count Value" message, such that said count value is updated to be representative of free space in said buffer after retirement of said second message from said buffer.
Claim 11
Dependent Claim 36 words
The transmitter of claim 7, wherein said "Increment Count Value" message is encoded with the size of said second message, and wherein said incrementing means increments said count value by the size of said second message.

References Cited (Backward Citations)

US4325063A Cited
US4527233A Cited
US4604682A Cited
US4740958A Cited
US4942515A Cited
US5003463A Cited
US4965793A Cited
US5295246A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-18 2000-08-19 2001-02-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-18 2004-08-19 2005-02-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-18 2008-08-19 2009-02-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag