Claims
- 1. Apparatus for transmitting messages associated with a plurality of connections, said apparatus comprising:
transmission equipment for receiving multiple messages, segmenting each received message into one or more data units, and multiplexing such data units from various connections into a single stream for transport over a physical interface at an output transmission rate; bandwidth allocation means associated with the transmission equipment for dynamically allocating a portion of the output transmission rate to any connection; and a scheduler, connected to the bandwidth allocation means, for scheduling the transfer of messages to the single stream of the transmission equipment and for allocating a substantially maximum permissible portion of the output transmission rate to each connection substantially at the time its message is transferred to the transmission equipment in order to minimize interleaving of data units from various connections.
- 2. The apparatus according to claim 1, wherein:
the transmission equipment comprises a segmentation means and a multiplexing means for respectively segmenting each received message into said data units and multiplexing same into said single stream; and the scheduler transfers messages to said single stream by one of (a) receiving the messages directly from the connections and transferring the messages to the segmentation means which substantially immediately transfers the messages to the multiplexing means, and (b) receiving the data units from the segmentation means and transferring groups of data units to the multiplexing means, wherein each such group corresponds to a message.
- 3. The apparatus according to claim 2, wherein the scheduler is enabled to additionally set the transmission rate for each connection whose message is in the process of being transmitted to the maximum permissible portion of the output transmission rate during said message transmission.
- 4. The apparatus according to claim 3, wherein the maximum permissible portion of the output transmission rate for a given connection at any given time is the lessor of (i) a pre-specified peak transmission rate for the given connection and (ii) all unused bandwidth at the given time allocated to a service class to which the given connection belongs.
- 5. The apparatus according to claim 2, wherein the transmission equipment applies a round-robin service discipline in multiplexing data units from connections in the process of transmitting messages.
- 6. The apparatus according to claim 2, wherein the scheduler transfers messages to the transmission equipment in sequential order per connection.
- 7. The apparatus according to claim 2, wherein, in the event a sub-plurality of connections each have outstanding data requests, the scheduler transfers messages to said single stream using a first-come, first served service discipline at the point of contention.
- 8. The apparatus according to claim 7, wherein the scheduler includes means to prevent the service starvation of connections.
- 9. The apparatus according to claim 8, wherein said starvation prevention means includes applying a round-robin service discipline to connections having outstanding data requests.
- 10. The apparatus according to claim 2, wherein, in the event a sub-plurality of connections have pending data requests, the scheduler transfers messages to said single stream in order of the arrival of the messages at the scheduler.
- 11. The apparatus according to claim 2, wherein, upon reception of a given message associated with a given connection, the scheduler is enabled to transfer the given message to the transmission equipment if free bandwidth is available for the given connection.
- 12. The apparatus according to claim 11, wherein, in the event no free bandwidth is available for the given connection, the scheduler is enabled to queue the given message at the end of a queue of pending messages.
- 13. The apparatus according to claim 2, wherein, upon reception of a given message associated with a given connection, the scheduler is enabled to transfer the given message to said single stream provided free bandwidth is available for the given connection and provided that the given connection does not have a previous message in the process of being transmitted by the transmission equipment.
- 14. The apparatus according to claim 13, wherein, upon reception of a given message associated with a given connection, the scheduler is enabled to queue the given message in the event no free bandwidth is available for the given connection or in the event that the given connection has a previous message in the process of being transmitted by the transmission equipment.
- 15. The apparatus according to claim 4, further including means, connected to the scheduler, for indicating when a last data unit of a message has been transmitted by the transmission equipment.
- 16. The apparatus according to claim 15, wherein, upon indication that a given message of a given connection has been transmitted, the scheduler is enabled to increase the transmission rate of any connection in the process of having a message being transmitted by the transmission equipment provided that free bandwidth is available for the given connection.
- 17. The apparatus according to claim 16, wherein the scheduler increases the bandwidth of transmitting connections in first-come, first-served order.
- 18. The apparatus according to claim 15, wherein, upon indication that a message of a connection has been transmitted, the scheduler is enabled to process a queued message pending transmission as a just-received message.
- 19. The apparatus according to claim 18, wherein the scheduler services queued messages in first-come, first-served order.
- 20. The apparatus according to claim 16, wherein, upon indication that a message of a connection has been transmitted, the scheduler is enabled to process a queued message pending transmission as a just-received message.
- 21. The apparatus according to claim 20, wherein the scheduler services queued messages in first-come, first-served order.
- 22. A data transmission method for transporting multiple messages associated with multiple connections over a network, said method comprising the steps of:
segmenting each message of each connection into transportable data units; scheduling the transfer of messages from the multiple connections to a multiplexing step; multiplexing the data units from various connections into a single stream for transport over a transmission media to a destination; and assigning a maximum permissible amount of transmission media bandwidth to each connection at the time a message thereof substantially begins to be transported over the transmission media, thereby minimizing interleaving of data units from the multiple connections over the transmission media.
- 23. The method according to claim 22, wherein the scheduling step includes one of the following steps:
(i) scheduling the transfer of groups of data units from the segmentation step to the multiplexing step, wherein each such group of data units corresponds to a message, and (ii) scheduling the transfer of messages from the multiple connections to the segmentation step, wherein the segmentation step substantially immediately transfers the data units to the multiplexing step.
- 24. The method according to claim 23, wherein the bandwidth assignment step sets the bandwidth for a connection whose message is in the process of being transmitted to the maximum permissible amount during the transmission of the message.
- 25. The method according to claim 24, wherein the maximum permissible bandwidth for a given connection at any given time is the lessor of:
(i) a pre-specified peak transmission rate for the given connection, and (ii) a rate corresponding to that sufficient to use all unused bandwidth at the given time allocated to a service class to which the given connection belongs.
- 26. The method according to claim 25, wherein the multiplexing step applies a round-robin service discipline in multiplexing data units from transmitting connections.
- 27. The method according to claim 26, wherein the scheduling step transfers messages to the multiplexing step in sequential order per connection.
- 28. The method according to claim 27, wherein the scheduling step transfers messages to the multiplexing step using a first-come, first-served service discipline at the point of contention to connections having outstanding data requests.
- 29. The method according to claim 28, further including the step of preventing service starvation of connections.
- 30. The method according to claim 29, wherein the starvation-prevention step includes the step of serving connections having outstanding data requests in round robin fashion.
- 31. The method according to claim 23, wherein the scheduling step includes the step of transferring messages to the multiplexing step in order of the arrival of the messages.
- 32. The method according to claim 25, wherein the bandwidth assignment step includes the step of increasing the bandwidth of transmitting connections upon termination of the transmission of any message.
- 33. The method according to claim 32, wherein the bandwidth assignment step allocates bandwidth to the currently-transmitting connections in order of the relative time at which the currently-transmitting messages thereof were passed to the multiplexing step.
- 34. The method according to claim 32, wherein, upon reception of a given message associated with a given connection, the scheduling step transfers the given message to the multiplexing step only if free bandwidth is available for the given connection.
- 35. The method according to claim 33, further including the step of queuing the given message at the end of a queue of pending messages in the event no bandwidth is available for the given connection.
- 36. The method according to claim 23, wherein the scheduling step immediately transfers a given received message to the multiplexing step provided bandwidth is available for the associated connection and provided that the associated connection does not have a previous message in the process of being transmitted over the transmission media.
- 37. The method according to claim 35, wherein the scheduling step queues the given message in the event no bandwidth is available for the associated connection or in the event that the associated connection has a previous message in the process of being transmitted over the transmission media.
- 38. The method according to claim 34, further including the step of processing a queued message as a just-received message in the event of the termination of transmission of another message.
- 39. The method according to claim 36, further including the step of processing a queued message as a just-received message in the event of the termination of transmission of another message.
- 40. Apparatus for transmitting ATM adaption layer (AAL) service data units (SDUs) associated with a plurality of connections, said apparatus comprising:
segmentation means for segmenting each AAL SDU into one or more AAL segmentation and reassembly protocol data units (SAR PDUs); ATM layer means for multiplexing the SAR PDUs of various connections into a single stream having an output transmission rate; physical transmission means, connected to the ATM layer means, for transporting the single stream of SAR PDUs over a physical interface; bandwidth allocation means for dynamically allocating a portion of the output transmission rate to any connection; and a scheduler, connected to the bandwidth allocation means, for scheduling the transfer of SDUs to the ATM layer means, and for allocating a substantially maximum permissible portion of the output transmission rate to each connection substantially at the time its SDU is submitted to the ATM layer means in order to minimize interleaving of SAR PDUs from various connections in the single stream.
- 41. The apparatus according to claim 40, wherein the scheduler transfers SDUs to the ATM layer means by one of (a) receiving the SDUs from AAL users and transferring the SDUs to the segmentation means, wherein the segmentation means substantially immediately transfers the SAR PDUs to the ATM layer means; and (b) transferring groups of SAR PDUs to the ATM layer means, wherein each such group corresponds to an SDU.
- 42. The apparatus according to claim 41, wherein the scheduler is enabled to set the transmission rate for a connection to the maximum permissible portion of the output transmission rate during the time an SDU associated with the connection is in the process of being transmitted over the physical interface.
- 43. The apparatus according to claim 42 wherein the maximum permissible portion of the output transmission rate for a given connection at any time is the lessor of (i) a pre-specified peak transmission rate for the connection and (ii) a total amount of free bandwidth at that time for a service class associated with the given connection.
- 44. The apparatus according to claim 43, wherein the ATM layer means applies a round-robin scheduling discipline in multiplexing SAR PDUs from various connections to the single stream.
- 45. The apparatus according to claim 41, wherein, in the event a sub-plurality of connections each have at least one pending data request, the scheduler transfers SDUs to the ATM layer means using a first-come, first-served service discipline at the point of contention.
- 46. The apparatus according to claim 41, wherein the scheduler includes means for preventing the service-starvation of a connection.
- 47. The apparatus according to claim 41, wherein, in the event a plurality of connections each have at least one pending data request, the scheduler transfers SDUs to the ATM layer in order of the arrival of the SDUs at the scheduler.
- 48. The apparatus according to claim 43, wherein, upon termination of the transmission of an SDU, the scheduler is enabled to increase the transmission rate of connections whose SDUs are in the process of being transmitted by the ATM layer means, bandwidth being allocated to the currently-transmitting connections in order of the relative time at which the currently-transmitting SDUs thereof were passed to the ATM layer means.
- 49. The apparatus according to claim 41, wherein the scheduler maintains (i) a first queue of connections whose SDUs are in the process of being transmitted by the ATM layer means, (ii) a second queue of connections having pending data requests, and (iii) a third queue for storing unprocessed SDUs of currently transmitting connections having pending data requests.
- 50. The apparatus according to claim 49, wherein, upon reception of a given SDU associated with a given connection, the scheduler is enabled to place the given connection at the end of the second queue and place the given SDU in the third queue in the event no bandwidth is available to the given connection.
- 51. The apparatus according to claim 49, wherein, upon reception of a given SDU associated with a given connection, the scheduler is enabled to place the given SDU in the third queue in the event the given connection is currently transmitting or has a pending data request.
- 52. The apparatus according to claim 49, wherein, upon reception of a given SDU associated with a given connection, the scheduler is enabled to transfer the given SDU to the ATM layer means provided bandwidth is available to the given connection and provided that the given connection is not currently transmitting or has no pending data requests.
- 53. The apparatus according to claim 49, further including means for indicating when a last SAR PDU of any given SDU has been transmitted.
- 54. The apparatus according to claim 53, wherein, upon actuation of the SDU transmission indication means, the scheduler is enabled to increase the transmission rate of connections having SDUs in the process of being transmitted, bandwidth being allocated to the currently-transmitting connections in order of the relative time at which the currently-transmitting SDUs thereof were passed to one of the ATM layer means and the segmentation means.
- 55. The apparatus according to claim 53, wherein, upon actuation of the SDU transmission indication means, the scheduler is enabled to remove the given connection from the first queue, check whether the given connection has any SDUs waiting in the third queue, and if so, place the given connection at the end of the second queue.
- 56. The apparatus according to claim 55, wherein, upon actuation of the SDU transmission indication means, the scheduler is enabled to scan the second queue in order starting from the head thereof and, provided bandwidth remains available for a given connection listed therein, remove the given connection from the second queue, pass an earliest SDU of the given connection stored in the third queue to one of the segmentation means and the ATM layer means, allocate a maximal amount of bandwidth to the given connection, and place the given connection at the end of the first queue.
- 57. Apparatus for transmitting ATM adaption layer (AAL) service data units (SDUs) associated with a plurality of connections, said apparatus comprising:
segmentation means, for segmenting each SDU into one or more AAL segmentation and reassembly protocol data units (SAR PDUs); ATM layer means, for multiplexing the SAR PDUs into a single stream having an output transmission rate; physical transmission means, connected to the ATM layer means, for transporting the single stream of SAR PDUs over a physical interface; and bandwidth allocation means, for dynamically allocating a portion of the output transmission rate to any connection; and scheduling means, connected to the bandwidth allocation means, for scheduling the transfer of SDUs to the ATM layer means, and for allocating a maximal portion of the output transmission rate to a connection while an SDU associated therewith is in the process of being transmitted by the ATM layer means.
- 58. The apparatus according to claim 57, wherein the scheduling means transfers messages to the ATM layer means by one of (a) receiving SDUs directly from AAL users and transferring the SDUs to the segmentation means which substantially immediately transfers the messages to the ATM layer means, and (b) receiving SAR PDUs from the segmentation means and transferring groups of SAR PDUs to the ATM layer means, wherein each such group corresponds to an SDU.
- 59. The apparatus according to claim 58, wherein the maximum permissible portion of the output transmission rate for a given connection at any given time is the lessor of (i) a pre-specified peak transmission rate for the given connection and (ii) all unused bandwidth at the given time allocated to a service class to which the given connection belongs.
- 60. The apparatus according to claim 59, wherein the scheduling means maintains (i) a list of currently transmitting connections, (ii) a queue of connections having pending data requests, and (iii) a set of queues for storing unprocessed SDUs of connections currently transmitting or having pending data requests.
- 61. The apparatus according to claim 60, wherein the scheduling means is enabled to place a given connection at the end of said queue and place the associated SDU in said queue set in the event no free bandwidth is available to the given connection.
- 62. The apparatus according to claim 60, wherein, the scheduling means is enabled to place an SDU in said queue set in the event the associated connection is currently transmitting or has a pending data request.
- 63. The apparatus according to claim 60, wherein, the scheduling means is enabled to transfer an SDU to the ATM layer means provided bandwidth is available to the associated connection and provided the associated connection is not currently transmitting or has no pending data requests.
- 64. The apparatus according to claim 60, further including means for indicating when a last SAR PDU of any given SDU has been transmitted.
- 65. The apparatus according to claim 64, wherein, upon actuation of the SDU transmission indication means, the scheduling means is enabled to increase the transmission rate of a connection having an SDU in the process of being transmitted, bandwidth being allocated to the currently-transmitting connections in order of the relative time at which the currently-transmitting AAL SDUs thereof were passed to the SAR SAP.
- 66. The apparatus according to claim 64, wherein, upon actuation of the SDU transmission indication means in respect of a given SDU associated with a given connection, the scheduling means removes the given connection from said list, checks whether the given connection has any SDUs stored in said queue set, and, if so, places the given connection at the end of said queue.
- 67. The apparatus according to claim 64, wherein, upon actuation of the SDU transmission indication means, the scheduling means is enabled to scan said queue in order starting from the head thereof and, provided unallocated bandwidth remains for a given connection listed therein, remove the given connection from the second queue, pass an earliest SDU of the given connection stored in said queue set to the ATM layer means allocate a maximal amount of bandwidth to the given connection, and place the given connection in the first queue.
Priority Claims (1)
Number |
Date |
Country |
Kind |
2,233,491 |
Mar 1998 |
CA |
|
Parent Case Info
[0001] This application is a continuation of co-pending U.S. patent application Ser. No. 09/208,982.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09208982 |
Dec 1998 |
US |
Child |
10126527 |
Apr 2002 |
US |