Hardware implementation of channel scheduling algorithms for optical routers with FDL buffers
First Claim
Patent Images
1. A method for implementing channel scheduling algorithms in an optical router, the method comprising the steps of:
- storing a set of channel unscheduled times from which a channel is free and corresponding channels SM at an associative process PM;
storing a set of voids/gaps and a corresponding channels SG at an associative processor PG;
determining availability of outbound data channels capable of carrying a data packet of duration B;
selecting one channel from available data channels;
assigning the data packet to the selected channel; and
updating state information of the selected data channel, wherein the state information of a data channel includes channel unscheduled times for which the data channel has voids/gaps.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for implementing channel scheduling algorithms in an optical router wherein a scheduler operates pursuant to an algorithm and is capable of determining the availability of outbound data channels capable of carrying a data packet of duration B. The scheduler is further capable of selecting one channel from available data channels and assigning the data packet to the selected channel. The scheduler then updates state information of the selected data channel, but if no data channel is available to carry the data packet the data packet is dropped.
-
Citations
26 Claims
-
1. A method for implementing channel scheduling algorithms in an optical router, the method comprising the steps of:
-
storing a set of channel unscheduled times from which a channel is free and corresponding channels SM at an associative process PM;
storing a set of voids/gaps and a corresponding channels SG at an associative processor PG;
determining availability of outbound data channels capable of carrying a data packet of duration B;
selecting one channel from available data channels;
assigning the data packet to the selected channel; and
updating state information of the selected data channel, wherein the state information of a data channel includes channel unscheduled times for which the data channel has voids/gaps. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
if no data channel is available to carry the data packet, determining whether a time delay L is capable of being introduced to shift the arrival time of the data packet via fiber delay line (FDL), from t to (t+L); and
if a time delay L is capable of being introduced, assigning the data packet a delay time equal to L and assigning the data packet to an appropriate outbound data channel.
-
-
3. The method for implementing channel scheduling algorithms in an optical router according to claim 1, wherein the selecting of a channel further comprises selecting a fiber and a wavelength from the outbound data channel group to transmit the data packet.
-
4. The method for implementing channel scheduling algorithms in an optical router according to claim 1, wherein the data packet is of a variable length.
-
5. The method for implementing channel scheduling algorithms in an optical router according to claim 2, wherein the selecting of a channel further comprises selecting a fiber and a wavelength from the outbound data channel group to transmit the data packet.
-
6. The method for implementing channel scheduling algorithms in an optical router according to claim 2, wherein the data packet is of a variable length.
-
7. The method for implementing channel scheduling algorithms in an optical router according to claim 1, wherein scheduled time of routing for each data packet that has not been transmitted is scheduled with a relative time based upon the start processing time of the data packet.
-
8. The method for implementing channel scheduling algorithms in an optical router according to claim 1, wherein if a void created by the insertion of a data packet on a channel is less than or equal to a duration Δ
- the void is not included in the state information as being available to carry a data packet.
-
9. The method for implementing channel scheduling algorithms in an optical router according to claim 1, further comprising performing a parallel search of the set of voids/gaps and the corresponding channels SG at associative process PG for the smallest available void/gap and the corresponding channel capable of accommodating a packet of duration B.
-
10. The method for implementing channel scheduling algorithms in an optical router according to claim 9, further comprising performing a parallel search of the set of channel unscheduled times from which the channel is free and the corresponding channels SM at associative processor PM for an unscheduled time and corresponding data channel.
-
11. The method of claim 10, further comprising the step of generating control signals for associative processors PM and PG at a control processor.
-
12. An apparatus for implementing channel scheduling algorithms in an optical router, the apparatus comprising:
-
means for determining availability of outbound data channels capable of carrying a data packet of duration B, wherein such means for determining availability comprises;
an associative processor PG capable of storing a set of voids/gaps and corresponding channels SG and performing a parallel search of the set of voids/gaps and corresponding channels SG for an available void/gap and corresponding channel capable of accommodating the data packet of duration B;
an associative processor PM capable of storing a set of channel unscheduled times from which a channel is free and corresponding channels SM; and
conducting a parallel search of the set of channel unscheduled times from which a channel is free and corresponding channels SM for an unscheduled time interval and corresponding channel capable of accommodating the data packet;
means for selecting one channel from available data channels;
means for assigning the data packet to the selected channel; and
means for updating state information of the selected data channel. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
if no data channel is available to carry the data packet, means for determining whether a data channel would be available if a time delay is introduced to shift the arrival time of the data packet via a fiber delay line (FDL);
means to shift the arrival time of the data packet by a time delay via a fiber delay line and to assign the data packet to an appropriate outbound data channel if the outbound data channel would be available; and
means for dropping the data packet if no data channel is available to carry the data packet.
-
-
14. The apparatus according to claim 12, wherein the data packet is of a variable length.
-
15. The apparatus according to claim 12, wherein scheduled time of routing for each data packet that has not been transmitted is scheduled with a relative time based upon the start processing time of the data packet.
-
16. The apparatus according to claim 12, wherein the associative processor PG does not store voids/gaps of a channel if such void/gap is less than or equal to a duration Δ
- .
-
17. The apparatus according to claim 12 wherein, if multiple voids/gaps are available to accommodate the data packet of duration B, the smallest available void gap is selected.
-
18. The apparatus according to claim 17 wherein the search of the set of void/gaps and corresponding channels SG and the search of the set of channel unscheduled times from which a channel is free and corresponding channels SM is conducted simultaneously.
-
19. The apparatus of claim 13, further comprising means of generating control signals for associative processors PM and PG via an arithmetic-logic unit.
-
20. The apparatus according to claim 12 wherein, if multiple voids/gaps are available to accommodate data packet of duration B, the smallest available void gap is selected.
-
21. The apparatus according to claim 12 wherein associative processor PL is further capable of searching the set of possible time delays SL for a time delay L which is capable of being introduced such that in available gap and corresponding channel may be utilized to accommodate the data packet.
-
22. The apparatus according to claim 12, wherein a new reference time for each data packet under consideration is set to a time t=0 upon starting the channel scheduling process and the state information of the data channel group are updated simultaneously according to the new reference time of t=0.
-
23. The apparatus according to claim 12, wherein the means for selecting one channel from the available data channels further comprises means of selecting the channel via a round robin method.
-
24. The apparatus according to claim 12, wherein the means for selecting one channel from the available data channels further comprises means of selecting the channel via a random method.
-
25. The apparatus according to claim 12, wherein the means for selecting one channel from the available data channels further comprises means of selecting the channel via a predetermined method.
-
26. The apparatus according to claim 12, wherein the means for selecting one channel from the available data channels further comprises means of selecting the channel via a latest available unused channel method with void filling.
Specification