Method and apparatus for interconnection of flow-controlled communication
First Claim
1. A method of flow control in a digital communications system wherein data flows in a first direction in a channel and in a second opposite direction in multiple channels comprising:
- in a transferred data unit in said first direction, including a portion of data indicating available/not-available status of a set of channels in said second direction;
prior to selecting a channel in said second direction for transmitting a data unit, checking status of said channel as indicated in said portion;
selecting a channel for transmission from among channels indicated available in said portion; and
wherein said portion indicates status of a part of possible channels in said second direction and wherein multiple data units in said first direction must be received to update status of all channels in said second direction.
5 Assignments
0 Petitions
Accused Products
Abstract
A method or system or apparatus provides improved digital communication. In one aspect, flow control in performed by receiving status preprended to data units in a combined data channel, where the status data indicated the available status of a number of far end receiving channels. Thus data may be sent only to available receiving channels. In a further aspect, a frequency reference may also be transmitted by including data in data units in a combined channel. In a further aspect, an active channel can be selected among two redundant channels by use of an active bit in said data units. The invention has particular applications to ATM-type communication systems and may also be used in other communication systems.
99 Citations
24 Claims
-
1. A method of flow control in a digital communications system wherein data flows in a first direction in a channel and in a second opposite direction in multiple channels comprising:
-
in a transferred data unit in said first direction, including a portion of data indicating available/not-available status of a set of channels in said second direction;
prior to selecting a channel in said second direction for transmitting a data unit, checking status of said channel as indicated in said portion;
selecting a channel for transmission from among channels indicated available in said portion; and
wherein said portion indicates status of a part of possible channels in said second direction and wherein multiple data units in said first direction must be received to update status of all channels in said second direction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
said flow control is per logical channel;
said portion comprises multiple bits per data unit used to indicate downstream status; and
wherein said per logical channel flow control uses a simple XON/XOFF control.
-
-
8. The method according to claim 1 further comprising:
including in said data units a timing reference independent of a serial link bit rate.
-
9. The method according to claim 1 wherein each data unit transmitted contains downstream status information.
-
10. The method according to claim 9 wherein each data unit transmitted in said first direction contains 16 bits of information that convey the status for 16 of 32 active channels in said second direction.
-
11. The method according to claim 1 wherein a separate overhead bit per data unit conveys buffer status of a far-end microprocessor port.
-
12. A method for downstream data flow control comprising:
-
placing cells for downstream channels into a plurality of buffers, said buffers grouped into sets of buffers;
for a set of said sets, scheduling a cell out of said set and transmitting said cell to an access module, said access module serving a plurality of channels;
said scheduling comprising;
eliminating from a scheduling round a channel that is presenting a far-end buffer full status;
performing an access algorithm among remaining eligible channels to share a downstream link; and
when there is no data in any buffer in a set of buffers, generating a stuff cell for said set and transmitting said stuff cell on a link for said set. - View Dependent Claims (13, 14)
-
-
15. A method for upstream data flow control comprising:
-
placing cells for upstream transmission from a plurality of logical channels into a plurality of shared buffers; and
servicing said shared buffers with a weighted round-robin algorithm to present said cells to an upstream bus master as a single cell stream wherein when an upstream buffer has less than a preset number of empty cell buffers, said upstream buffer deasserts a cell available bit sent in system overhead of a corresponding downstream link and wherein a far end device begins sending stuff cells upon indication that the upstream buffer is unavailable. - View Dependent Claims (16)
-
-
17. A digital communications system wherein data flows in a first direction in a channel and in a second opposite direction in multiple channels comprising:
-
means for performing flow control comprising;
means for including a portion of data indicating available/not-available status of a set of channels in said second direction in a transferred data unit in said first direction;
means for checking status of said channel as indicated in said portion prior to selecting a channel in said second direction for transmitting a data unit;
means for selecting a channel for transmission from among channels indicated available in said portion; and
wherein said portion indicates status of a part of possible channels in said second direction and wherein multiple data units in said first direction must be received to update status of all channels in said second direction. - View Dependent Claims (18, 19, 20, 21, 22)
said status indicates space available in a buffer for a second direction channel and wherein a number of spare buffer locations are available to compensate for a delay in signaling said status.
-
-
21. The system of claim 17 further comprising:
-
means for including a bit-oriented code (BOC) portion in a cell transmitted on a link, wherein BOCs are used to carry predefined or user-defined signaling;
means for performing flow control per logical channel;
means for including in said data units a timing reference independent of a serial link bit rate; and
means for including in transmitted data units downstream status information.
-
-
22. The system of claim 17 further wherein:
-
said portion comprises multiple bits per data unit used to indicate downstream status;
said per logical channel flow control means uses a simple XON/XOFF control;
a separate overhead bit per data unit conveys buffer status of a far-end microprocessor port.
-
-
23. A downstream data flow controller comprising:
-
means for placing cells for downstream channels into a plurality of buffer means, said buffer means grouped into sets of buffer means;
means for scheduling a cell out of a set of said sets;
means for transmitting said cell to an access module, said access module serving a plurality of channels;
means for eliminating from a scheduling round a channel that is presenting a far-end buffer full status; and
means for performing an access algorithm among remaining eligible channels to share a downstream link, means for generating a stuff cell for said set and means for transmitting said stuff cell on a link for said set when there is no data in any buffer means in a set.
-
-
24. An upstream data flow controller comprising:
-
means for placing cells for upstream transmission from a plurality of logical channels into a plurality of shared buffer means; and
means for servicing said shared buffer means with a weighted round-robin algorithm to present said cells to an upstream bus master means as a single cell stream;
wherein when an upstream buffer means has less than a preset number of empty cell buffers, said upstream buffer means deasserts a cell available bit sent in system overhead of a corresponding downstream link and wherein a far end device begins sending stuff cells upon indication that the upstream buffer means is unavailable.
-
Specification