Asynchronous transfer mode cell processing system with multiple cell source multiplexing
First Claim
1. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
- providing first and second groups of bits with each bit in the first and second groups representing a cell time slot, wherein the value of a given bit in the first and second group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission;
servicing the scheduled time slots by checking the first group of bits for a bit corresponding to an available time slot, and if no bit corresponding to an available time slot is found, checking the second group of bits for a bit corresponding to an available time slot;
maintaining a count which is incremented each time a cell time slot represented by a bit in the first group is serviced, and decremented each time a bit in the second group corresponding to an idle slot is encountered but an idle slot is not transmitted; and
scheduling the available time slots represented by bits of the second group at a time determined in part by the count.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for processing cells in an asynchronous transfer mode (ATM) communication system. An ATM cell processor implements a "bubble" count technique which efficiently accommodates multiple layers of scheduling requests and/or external cell sources. In the case of multiple layers of scheduling requests, first and second primary scoreboards are provided for scheduling/servicing of, for example, higher and lower priority traffic, higher and lower cell rate traffic, or externally and internally generated traffic, respectively. A bubble count is maintained for the second scoreboard, and the count is incremented each time the first scoreboard is serviced and decremented each time an idle slot is encountered on the second scoreboard but not queued for transmission. Scheduling requests for the second scoreboard are then made at a target time plus the bubble count. In the case of multiplexing external and internal cell sources, the bubble count may represent the number of cells that have been sent on a given transmission link but not scheduled in the primary scoreboard, and may be incremented each time the primary scoreboard is serviced, and decremented each time an idle slot on the primary scoreboard is encountered but not queued for transmission.
-
Citations
9 Claims
-
1. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
-
providing first and second groups of bits with each bit in the first and second groups representing a cell time slot, wherein the value of a given bit in the first and second group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission; servicing the scheduled time slots by checking the first group of bits for a bit corresponding to an available time slot, and if no bit corresponding to an available time slot is found, checking the second group of bits for a bit corresponding to an available time slot; maintaining a count which is incremented each time a cell time slot represented by a bit in the first group is serviced, and decremented each time a bit in the second group corresponding to an idle slot is encountered but an idle slot is not transmitted; and scheduling the available time slots represented by bits of the second group at a time determined in part by the count. - View Dependent Claims (2, 3, 4)
-
-
5. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
-
providing a group of bits with each bit in the group of bits representing a cell time slot, wherein the value of a given bit in the group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission; maintaining a count, wherein the count is incremented each time a cell not scheduled using a bit in the group of bits is sent on a transmission link of the communication system, and decremented each time a bit in the group corresponding to an idle slot is encountered but an idle slot is not transmitted; and scheduling the available time slots represented by bits of the group at a time determined in part by the count.
-
-
6. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
-
providing first and second groups of bits with each bit in the first and second groups representing a cell time slot, wherein the value of a given bit in the first and second group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission; servicing the scheduled time slots by checking the first group of bits for a bit corresponding to an available time slot, and if no bit corresponding to an available time slot is found, checking the second group of bits for a bit corresponding to an available time slot; maintaining a count which is incremented each time a cell time slot represented by a bit in the first group is serviced, and decremented each time a bit in the second group corresponding to an idle slot is encountered but an idle slot is not transmitted; and scheduling the available time slots represented by bits of the second group at a time determined in part by scheduling a time slot at a time corresponding to the sum of a target time for the corresponding scheduling request and the count value at the time the scheduling request is received.
-
-
7. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
-
providing first and second groups of bits with each bit in the first and second groups representing a cell time slot, wherein the value of a given bit in the first and second group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission; servicing the scheduled time slots by checking the first group of bits for a bit corresponding to an available time slot, and if no bit corresponding to an available time slot is found, checking the second group of bits for a bit corresponding to an available time slot; maintaining a count which is incremented each time a cell time slot represented by a bit in the first group is serviced, and decremented each time a bit in the second group corresponding to an idle slot is encountered but an idle slot is not transmitted; and scheduling the available time slots represented by bits of the second group at a time determined by executing an instruction which specifies a target address in the second group of bits and returns an indication as to whether or not a scheduled time slot exists in the second group in a range from the bit corresponding to the target address to the bit corresponding to the sum of the target address and the count.
-
-
8. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
-
providing a first group of bits with each bit in the group of bits representing a cell time slot, wherein the value of a given bit in the first group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission; maintaining a count, wherein the count is incremented each time a cell not scheduled using a bit in the first group of bits is sent on a transmission link of the communication system, and decremented each time a bit in the first group corresponding to an idle slot is encountered but an idle slot is not transmitted; and scheduling the available time slots represented by bits of the first group at a time determined by scheduling a time slot at a time corresponding to the sum of a target time for the corresponding scheduling request and the count value at the time the scheduling request is received.
-
-
9. A method of allocating cells in an asynchronous transfer mode (ATM) communication system, the method comprising the steps of:
-
providing a first group of bits with each bit in the group of bits representing a cell time slot, wherein the value of a given bit in the first group of bits indicates whether or not the corresponding cell time slot has been scheduled for transmission; maintaining a count, wherein the count is incremented each time a cell not scheduled using a bit in the first group of bits is sent on a transmission link of the communication system, and decremented each time a bit in the first group corresponding to an idle slot is encountered but an idle slot is not transmitted; scheduling the available time slots represented by bits of the first group at a time determined in part by the count; and servicing the available time slots represented by the bits of the first group by executing an instruction which specifies a target address in the first group of bits and returns an indication as to whether or not a scheduled time slot exists in the a group in a range from the bit corresponding to the target address to the bit corresponding to the sum of the target address and the count.
-
Specification