WO2011019992A1 - Scheduling wdm pon with tunable lasers with different tuning times - Google Patents

Scheduling wdm pon with tunable lasers with different tuning times Download PDF

Info

Publication number
WO2011019992A1
WO2011019992A1 PCT/US2010/045436 US2010045436W WO2011019992A1 WO 2011019992 A1 WO2011019992 A1 WO 2011019992A1 US 2010045436 W US2010045436 W US 2010045436W WO 2011019992 A1 WO2011019992 A1 WO 2011019992A1
Authority
WO
WIPO (PCT)
Prior art keywords
wavelength
requests
time
request
laser
Prior art date
Application number
PCT/US2010/045436
Other languages
French (fr)
Inventor
Nirwan Ansari
Jingjing Zhang
Original Assignee
New Jersey Institute Of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Jersey Institute Of Technology filed Critical New Jersey Institute Of Technology
Priority to CN201080035631.7A priority Critical patent/CN102474356B/en
Priority to US12/996,772 priority patent/US8521025B2/en
Priority to KR1020127006582A priority patent/KR101358795B1/en
Publication of WO2011019992A1 publication Critical patent/WO2011019992A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/27Arrangements for networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J14/00Optical multiplex systems
    • H04J14/02Wavelength-division multiplex systems
    • H04J14/0278WDM optical network architectures
    • H04J14/0282WDM tree architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J14/00Optical multiplex systems
    • H04J14/02Wavelength-division multiplex systems

Definitions

  • Wavelength Division Multiplexing (WDM) Passive Optical Network (PON) is a recently developed network technology for meeting the rapidly increasing traffic demands caused by the popularization of the Internet and spouting of bandwidth-demanding applications.
  • the inherent high cost of multi-wavelength provision may hinder the deployment of WDM PON.
  • WDM PON may be associated with additional capital expenditure in enabling remote nodes, transmitters, and receivers with multi-wavelength provision capability.
  • the multi- wavelength provision is one parameter in determining the capacity of WDM PON
  • the capacity of a PON system may depend on the network architecture, wavelength supporting capability of optical devices, as well as data rate of the source generators and receivers.
  • tunable laser sources are able to generate multiple wavelengths one wavelength at a time.
  • tunable lasers offer advantages such as simple inventory management, reduced sparing cost, and automated wavelength provisioning.
  • the wavelength tunability of tunable lasers facilitates the statistical multiplexing of traffic from a larger set of lasers, thus potentially yielding better system performance.
  • laser tuning times range from a few tens of nanoseconds to seconds, or even minutes, depending on the adopted technology. Different laser tuning times may introduce different network performances. Thus, scheduling of network traffic on ONUs may become complex given different laser tuning times.
  • FIG. 1 illustrates an example WDM PON architecture, where laser tuning time may be taken into consideration in scheduling network traffic for ONUs;
  • FIG. 2 illustrates an example of preemptive scheduling when laser tuning time has a value of zero
  • FIG. 3 illustrates an example of preemptive scheduling when laser tuning time has a value of 1.5
  • FIG. 4 illustrates an example of preemptive scheduling when laser tuning time has a value between zero and infinity
  • FIG. 5 illustrates an example of non-preemptive scheduling when laser tuning time has a value of zero
  • FIG. 6 illustrates an example of non-preemptive scheduling when laser tuning time has a value between zero and infinity
  • FIG. 7 is a diagram illustrating average latest job completion time for different tuning times of lasers
  • FIG. 8 illustrates a general purpose computing device, which may be used to implement network traffic scheduling on tunable laser ONUs in a WDM PON taking laser tuning times into consideration;
  • FIG. 9 is a flow diagram illustrating an example method for preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8
  • FIG. 10 is a flow diagram illustrating an example method for non-preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8
  • FIG. 9 is a flow diagram illustrating an example method for preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8
  • FIG. 10 is a flow diagram illustrating an example method for non-preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8
  • FIG. 11 illustrates a block diagram of an example computer program product, all arranged in accordance with at least some embodiments described herein.
  • This disclosure is generally drawn, inter alia, to methods, apparatus, systems, devices, and/or computer program products related to optimized scheduling of network traffic for tunable laser ONUs in WDM PONs taking laser tuning time into consideration.
  • DBA dynamic bandwidth allocation
  • any laser tuning time may be mapped into a multi-processor scheduling problem, with wavelength channels as machines, requests from ONUs as jobs, and the laser tuning time as the time that jobs take to switch wavelengths.
  • the latest ONU request (job) completion time may then be minimized to achieve less delay, fairness, and load balancing in practical scenarios with non-zero laser tuning time in preemptive or non-preemptive scheduling scenarios.
  • Some embodiments may also be implemented for any multiprocessor scheduling computation, where jobs take non- negligible time to switch machines. Such embodiments may be implemented in various fields like industrial engineering and telecommunications.
  • FIG. 1 illustrates an example of WDM PON architecture, where laser tuning time may be taken into consideration in scheduling network traffic for ONUs according to at least some embodiments described herein.
  • a WDM PON may be realized in two major classes of architectures, depending on the placement of optical light generators.
  • the first class is to equip optical network units (ONUs) with lasers for their own upstream traffic transmission.
  • the lasers may be placed at the ONU side.
  • the second class may utilize lasers at the optical line terminal (OLT) side to supply seed light for upstream transmission.
  • the unmodulated light supplied by OLT may be first transmitted down to ONUs and then modulated and reflected back by ONUs.
  • reflective receivers and modulators may be equipped at ONUs to realize colorless ONUs.
  • the reflective modulator may be based on reflective semiconductor optical amplifier (RSOA) combined with an electro-absorption modulator. Since the signal and seed lights are transmitted in opposite directions on the same wavelength, this type of network may need to consider the effect of optical reflection, including Rayleigh backscattering, which may limit maximum network reach and largest channel bit rate.
  • RSOA reflective semiconductor optical amplifier
  • a network architecture according to the first class may be simpler, more reliable, and potentially able to achieve a higher loss budget and larger bit rates.
  • a wavelength-specific source may emit one specific wavelength, e.g., the common distributed feedback (DFB) laser diode (LD), distributed Bragg reflector (DBR) LD, or the vertical-cavity surface-emitting LD.
  • a multiple-wavelength source may be able to generate multiple WDM wavelengths simultaneously, including multi- frequency laser, gain-coupled DFB LD array, or chirped-pulse WDM.
  • Beside multi- wavelength sources, a wavelength-tunable source may generate multiple wavelengths as well. However, the wavelength-tunable source can typically generate one wavelength at a time.
  • Tunable lasers may employ many technologies such as DFB array, sampled grating DBR, external cavity diode laser etalon, etc. Different technologies may yield different tuning ranges.
  • one wavelength channel is utilized by a fixed set of lasers, and thus the statistical multiplexing gain cannot be exploited for traffic from lasers using different wavelength channels.
  • the wavelength tunability may facilitate statistical multiplexing of traffic from a larger set of lasers, thus potentially enhancing system performance. Tunable lasers also provide simpler inventory management and reduced spare parts costs for network operators.
  • one wavelength may be shared by more than one ONU (106, 108) in a time division multiplexing (TDM) fashion as shown in diagram 100.
  • tunable lasers (122, 126) at ONUs may be configured to first send out the modulated signal to a remote node (RN) 104.
  • the RN may include a wavelength-insensitive power combiner 118 that is configured to multiplex the upstream signal from ONUs onto the fiber connected to an OLT 102.
  • the signal which is multiplexed in both the time and wavelength domains, may then be transmitted by the RN 104 to the OLT 102.
  • the OLT 102 may include a wavelength demultiplexer 114 and a receiver array 112 configured to receive the upstream signal.
  • the OLT 102 may also include a downstream WDM source 110 that is configured to send transmissions downstream to downstream receivers 120 and 124 through a splitter 116 at the RN 104.
  • WDM couplers 128 provide coupling for the light transmission path between different components of the system.
  • Each ONU (106, 108) in diagram 100 may be equipped with a tunable laser (122, 126) that is adapted for use in upstream data transmissions.
  • Each laser (122, 126) may be tuned to a particular set of wavelengths.
  • the sets of wavelengths tuned by different lasers may include the same particular set of wavelengths, overlapping sets of wavelengths, or disjointed sets of wavelengths.
  • Some particular wavelengths may be shared by more than one ONU so that the statistical gain among traffic of ONUs that share wavelengths may be exploited.
  • the upstream-modulated signals may first be transmitted from ONUs (106, 108) by tunable lasers to RN 104.
  • RN 104 may use WDM couplers 128 to separate the upstream signal from the downstream signal and then may employ wavelength-insensitive power combiner 118 to multiplex the upstream signal from the total of ONUs onto the fiber connected to OLT 102.
  • the output signal of the power combiner 118 may be multiplexed in both the time and wavelength domains.
  • RN 104 may then transmit the multiplexed signal to OLT 102.
  • OLT 102 may employ wavelength demultiplexer 114 and a receiver array 112 to receive the upstream signal.
  • both the number of output ports of the demultiplexer 114 and the number of receivers may be equal to the total number of wavelengths used in the network.
  • an example upstream transmission link may consist of four WDM couplers 128, a power combiner 118, a dense WDM demultiplexer 114, and optical fibers.
  • the ONUs, OLTs, RN, and WDM couplers may be considered nodes of the network.
  • WDM PONs offer high bandwidth provision by exploiting the high bandwidth of optical fibers.
  • each ONU may be equipped with lasers for its own upstream traffic transmission.
  • Lasers equipped at ONUs may generate multiple wavelengths at a time.
  • Other example systems may utilize lasers at the OLT side to supply light sources for upstream data transmission at ONUs.
  • the unmodulated signal supplied at the OLT is first transmitted down to ONUs, and then modulated and reflected back by ONUs.
  • reflective receivers and modulators may be used at ONUs.
  • the reflective modulator may be based on RSOA combined with an electroabsorption modulator (EAM).
  • EAM electroabsorption modulator
  • a wavelength- specified source emits only one specific wavelength, e.g., the common DFB. These wavelength-specified lasers have to be specified at different wavelengths for multi- wavelength provisioning. Similar to multiple wavelength sources, a tunable source is able to generate multiple wavelengths, but only generate one wavelength at a time.
  • Tunable transceivers may be based on various technologies such as mechanical, acousto-optic or electro-optic tunability.
  • the important cost elements of tunable lasers include "non-optical" specifications such as package dimension, output power, power variation over wavelength, electrical power dissipation, and optical specifications, which include the tuning speed and tuning range.
  • Lasers' tuning (wavelength switching) time impact the scheduling schemes, and hence system performance. According to the adopted technology, the tuning time may range from a few tens of nanoseconds (electrooptic) to a few tens of milliseconds (mechanical), or even seconds or minutes.
  • FIG. 2 illustrates an example of preemptive scheduling when laser tuning time has a value of zero.
  • Network traffic scheduling for a WDM PON with tunable laser ONUs can be mapped into a multi-processor scheduling problem by regarding wavelength channels as parallel independent machines and queue requests from ONUs as jobs. Both machines and jobs in the multi-processor scheduling problem may possess some unique properties. For jobs, requests from queues in the same ONU may be treated as one single job.
  • the jobs can be viewed as possessing two main properties: (1) due to the lasers' tuning time, a certain time gap may be needed between the scheduling time of two jobs belonging to the same ONU when they use different wavelength channels; (2) a job may be divided into a group of subjobs each corresponding to a request from one queue in an ONU. These decomposed subjobs may be further divided into subjobs each corresponding to requests of particular packets in the queue. Thus, the jobs can preemptable. However, since fragmentation is not allowed in a PON, a packet cannot be further decomposed into subpackets. Therefore, jobs cannot be decomposed infinitely. Thus, some subjobs are non-preemptable.
  • each machine may have its own dynamic resource allocation (DBA) cycle.
  • DBA dynamic resource allocation
  • MPCP extended multipoint control protocol
  • the duration of the DBA cycle with respect to each wavelength in WDM PON may be dynamically adaptive to the incoming traffic.
  • the cycle length may have an upper bound to avoid significant delay to satisfy the quality of service (QoS) requirements of some queues.
  • QoS quality of service
  • the cycle lengths of wavelengths may differ from each other.
  • equalizing DBA cycle durations for all wavelengths may be treated as scheduling objective.
  • network traffic scheduling in a WDM PON with tunable lasers may be mapped into a multi-processor scheduling problem, in which jobs can be either preemptable or non-preemptable.
  • the lasers' tuning times may be classified into three classes: (1) negligible as compared to the cycle duration, (2) non-negligible but less than one cycle duration, and (3) greater than one cycle.
  • For lasers of category 1 existing algorithms in multi-processor scheduling may be employed to solve the problem.
  • scheduling may be reduced to a single-processor problem since lasers cannot switch between wavelengths within a cycle.
  • Embodiments are directed to scheduling network traffic for lasers of category 2 employing heuristic algorithms with preemptable jobs and non-preemptable jobs.
  • One approach to modeling jobs is to treat each queue request of an ONU as an individual job. Due to the laser on/off time, a guard time is needed between scheduling of jobs from different ONUs. To save the guard time, jobs from the same ONU may be scheduled consecutively and can be grouped together as a single job for simplicity. Thus, the total requests of an ONU as a single job.
  • preemptable jobs can be scheduled more flexibly and yield better system performances as compared to non-preemptable jobs.
  • ONUs assigned with the over-loaded wavelength may experience longer waiting time than those using the other wavelength. Equalizing the wavelength usage may ensure fairness among ONUs.
  • just-in-time scheduling may be degraded into on-line scheduling, where the decision is made for one ONU request only. This may result in unfairness and increase the frequency of calculating bandwidth allocation. Therefore, for the sake of less delay, fairness, and load balancing, minimizing the latest job completion time may be considered as the scheduling objective.
  • the scheduling may be mathematically formulated employing a DBA cycle.
  • a DBA cycle in a hybrid WDM/TDM PON refers to the time difference between two consecutive DBA decision making instances.
  • DBA cycle following definitions may be used:
  • n the number of ONUs.
  • the laser tuning time.
  • r ⁇ ri, r 2 , ..., r n ⁇ : the time durations of requests from n ONUs on m identical machines.
  • the wavelengths lasers at n ONUs are respectively tuned at time t.
  • the objective can be defined as finding a schedule such that the latest job completion time on all wavelengths in the sought schedule is equal or less than the latest job completion time on all wavelengths in a particular schedule with preemption allowed and disallowed, respectively.
  • the schedule may be determined through multiprocessor scheduling problem. According to some embodiments, an algorithm such as algorithm 1 below may be employed.
  • Algorithm 1 assigns wavelengths to requests one by one without any ordering. If the remaining time on a wavelength is not enough to satisfy a request, the unscheduled part may be moved to the next wavelength as described in lines 7 and 8. [0044] When a l w ⁇ aV for all w ⁇ w', large requests may need to be scheduled in wavelengths with smaller available time. To approach the scheduling under this condition algorithm 1 may be modified by adding an ordering process as detailed in algorithm 2 below.
  • algorithm 2 adds two sorting processes: sort requests in the descending order of their sizes, and sort wavelengths in the ascending order of their available time.
  • Diagram 200 of FIG. 2 includes a scheduling example with eight ONUs (232) and three wavelengths 236 following algorithm 2.
  • the laser tuning times T 1 (234) for the ONUs (232) are ordered with the largest one first.
  • Latest job completion times a l w 238 and a u w 240 are also listed under the wavelengths 236.
  • the allocation of requests on wavelength Wi 242 shows how request 1 is allocated with the time duration [6,14] on that wavelength.
  • the remaining time duration on wavelength W 1 is not enough to satisfy request 2.
  • Part of request 2 may be scheduled in time duration [0,6] on wavelength W 1 and the other part in time duration [13,14] on wavelength w 2 as shown by allocation of requests for wavelength w 2 244.
  • part of request 4 may be scheduled on wavelength w 2 , and the other part on wavelength W3 as shown by allocation of requests for wavelength W3 246.
  • the allocations of requests are illustrated on time axis 248. The requests are scheduled before time point 14.
  • FIG. 3 illustrates an example of preemptive scheduling when laser tuning time has a value of 1.5.
  • a heuristic algorithm may be employed to modify Algorithm 2.
  • the modification as described in algorithm 3, includes two steps.
  • the first step is to postpone the scheduling of all requests by ⁇ as described in line 2.
  • the second step is to postpone the scheduling of the last request on each wavelength by ⁇ as described in line 3.
  • FIG. 4 illustrates an example of preemptive scheduling when laser tuning time has a value between zero and infinity.
  • laser tuning time is 0 ⁇ ⁇ ⁇ + ⁇
  • lasers need to be given at least ⁇ time duration in order to switch wavelengths.
  • any request can be scheduled on any preemptive downstream traffic scheduling computation.
  • the time duration, which can be allocated on any wavelength equals to (£-t- ⁇ ). Whether all requests can be scheduled before I is equivalent to the consideration whether all these given requests can be divided into m groups, in which the sum of requests in each group is no greater than €-t- ⁇ .
  • algorithm 4 divides the resource allocation process on a wavelength into two steps.
  • the first step is to allocate the time duration between a u w and last job completion time I.
  • the second step is to allocate the time duration between a l w and a u w .
  • the time duration between a u w and last job completion time I on wavelength w may be allocated to any request, while the time duration between a l w and a u w on wavelength w can only be allocated to requests with X 1 ⁇ w.
  • the largest request may be considered first.
  • a request may be scheduled on wavelength w only if the remaining available time duration after a u w is sufficient to accommodate the request.
  • request i since allocating request i to wavelength w may decrease the total traffic J ⁇ [ which can be used to fill the gap between a 1 ⁇ and a ⁇ on wavelength X 1 , request i may be allocated onto wavelength w only if the gap filling between aVi and a u ⁇ is not affected as described in line 7.
  • x w may be used to track the total traffic which can fill the gap between a l w and a u w , and y w to track the end of the available time on wavelength w.
  • x w and y w are initialized to be ⁇ w and I, respectively.
  • the time duration a l w and y w is the resource, which is still available.
  • x w and y w may be denoted after performing the first step as x* w and y* w , respectively. The first step tries to let y* w approach a u w without affecting the filling of the gap between a l w and a u w , for all w.
  • Diagram 400 illustrates an example scenario with twelve ONUs (462) and four wavelengths (468). Requests 464 are ordered based on size (large to small) along with assigned wavelengths 466.
  • the latest job completion times on wavelengths in the last cycle are 0, 1, 1, and 2, respectively (dark shaded areas in wavelength allocations 474, 476, 478, and 480).
  • a' w (470) ⁇ 0, 1, 1, 2 ⁇
  • a u w (472) ⁇ 5, 5, 5, 5 ⁇
  • I 15.
  • Request 1 with the largest size cannot be scheduled on wavelength wi because the bandwidth from a u i to I is not sufficient to satisfy request 1.
  • Request 2 satisfies all conditions and is scheduled on wavelength W 1 .
  • the remaining time duration between a u i and I can only accommodate requests with sizes no greater than 3.
  • Request 8 with size 3 is not scheduled between a u i and I on wavelength wi because the gap between and a u i cannot be filled without request 8.
  • FIG. 5 illustrates an example of non-preemptive scheduling when laser tuning time has a value of zero.
  • preemption is disallowed (non-preemptable case)
  • the relationship between the latest job completion time and the laser tuning time still holds, i.e. for any request a latest job completion time for (r, ⁇ ) is equal or smaller than a latest job completion time for (r, ⁇ + ⁇ ), where ⁇ is greater than zero.
  • Algorithm 5 above is an example of an FFD algorithm and first sorts jobs in the descending order of their sizes and machines in the descending order of their channel available time. Then, the algorithm searches from the first machine and tries to assign a job with the first machine on which the job fits. If all the jobs can be scheduled before I, then I is a feasible solution.
  • Diagram 500 illustrates an example scenario with nine ONUs 582 and three wavelengths 586, where the requests 584 are scheduled according to non-preemptive scheduling.
  • the requests 584 are again ordered by size (large to small) and SL W 588 are listed for each wavelength.
  • the requests are allocated on wavelengths W 1 , W 2 , and W3 without splitting a request between two wavelengths following algorithm 5.
  • FIG. 6 illustrates an example of non-preemptive scheduling when laser tuning time has a value between zero and infinity.
  • Two heuristic algorithms may be employed for this particular scheduling by modifying algorithm 5 in different ways.
  • Algorithm 6 below describes a first heuristic algorithm that may be employed.
  • Algorithm 7 includes two steps.
  • the largest jobs may be given higher priorities since they are not easy to switch wavelengths.
  • the second step is to allocate the time period between a l u and I.
  • algorithm 5 may be applied directly in the second step.
  • Step 1 Schedule between a u w and 1*1
  • Step 2 Schedule between a l w and a u w */
  • DBA dynamic bandwidth allocation
  • any laser tuning time is mapped into a multi-processor scheduling problem, with wavelength channels as machines and requests from ONUs as jobs.
  • the latest ONU request (job) completion time is then minimized to achieve less delay, fairness, and load balancing in practical scenarios with non-zero laser tuning time and preemptive or non-preemptive scheduling.
  • request allocation may be accomplished through a combination of four algorithms.
  • the first algorithm may assign wavelengths to requests one by one without ordering. If the remaining time on a wavelength is not enough to satisfy a request, the unscheduled part may be moved to the next wavelength.
  • a second algorithm may add two sorting processes. First process sorts requests in a descending order of their sizes. The second process sorts wavelengths in the ascending order of their available time. First and second algorithms do not take into account a non-zero laser tuning time.
  • a third algorithm may accomplish that by postponing the scheduling of all requests and the last request on each wavelength by the laser tuning time.
  • a fourth algorithm may then fill in idle times in the scheduling and optimize the allocation by dividing the resource allocation process on a wavelength into two steps.
  • the first step is to allocate the time duration between a u w and I; the second step is to allocate the time duration between and a u w , where is the latest job completion time when a laser is tuned to a current wavelength, a u w is the latest job completion time when the laser is to be tuned to any other wavelength, and I is the predefined limit for the latest job completion time.
  • the largest request may be considered first.
  • a request may be scheduled on wavelength w if the remaining available time duration after a u w is enough to accommodate the request decreasing the total traffic.
  • request allocation may be accomplished through a combination of three algorithms.
  • the first algorithm may sort jobs in a descending order of their sizes and machines in the descending order of their channel available time. Then, a search may be performed from the first machine and a job assigned with the first machine on which the job fits. If all the jobs can be scheduled before I, then I is a feasible solution.
  • the second algorithm postpones scheduling of requests by the laser tuning time to factor in non-zero laser tuning times.
  • the third algorithm generates a schedule with a smaller latest job completion time by filling idle time durations on all wavelengths.
  • the time duration between and a u w may be allocated to requests when the laser is tuned to the current wavelength giving higher priority to largest jobs since those are not easy to switch wavelengths.
  • jobs for the time duration between a u w and I may be allocated following the first algorithm.
  • FIG. 7 is a diagram illustrating average latest job completion time for different tuning times of lasers.
  • Diagram 700 shows simulation results for an example system according to some embodiments demonstrating that the average latest request completion time 722 increases with the increase of the laser tuning time 724.
  • the latest job completion time sharply increases.
  • the simulation results shown in diagram 700 are for illustration purposes and do not constitute a limitation on embodiments.
  • the pattern and values of latest job completion time (performance) of a WDM PON according to embodiments may differ depending on network configuration, number of components, types of lasers used, etc.
  • FIG. 8 illustrates an example general purpose computing device 800, which may be used to implement network traffic scheduling on tunable laser ONUs in a WDM PON taking laser tuning times into consideration according to at least some examples of the present disclosure.
  • computing device 800 typically includes one or more processors 804 and a system memory 806.
  • a memory bus 808 may be used for communicating between processor 804 and system memory 806.
  • processor 804 may be of any type including but not limited to a microprocessor ( ⁇ P), a microcontroller ( ⁇ C), a digital signal processor (DSP), or any combination thereof.
  • ⁇ P microprocessor
  • ⁇ C microcontroller
  • DSP digital signal processor
  • Processor 804 may include one more levels of caching, such as a level cache memory 812, a processor core 814, and registers 816.
  • Example processor core 814 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof.
  • An example memory controller 818 may also be used with processor 804, or in some implementations memory controller 818 may be an internal part of processor 804.
  • system memory 806 may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof.
  • System memory 806 may include an operating system 820, one or more applications 822, and program data 824.
  • Application 822 may include a scheduling module 826 that is arranged to schedule network traffic for tunable laser ONUs in a WDM PON and any other processes, methods and functions as discussed above.
  • Program data 824 may include one or more of analysis data 828 (e.g. network traffic data, component characteristics, etc.) and similar data as discussed above in conjunction with at least FIG. 2 through 6.
  • application 822 may be arranged to operate with program data 824 on operating system 820 such that ONU traffic is scheduled as described herein.
  • This described basic configuration 802 is illustrated in FIG. 8 by those components within the inner dashed line.
  • Computing device 800 may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration 802 and any required devices and interfaces.
  • a bus/interface controller 830 may be used to facilitate communications between basic configuration 802 and one or more data storage devices 832 via a storage interface bus 834.
  • Data storage devices 832 may be removable storage devices 836, non-removable storage devices 838, or a combination thereof.
  • removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few.
  • Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • System memory 806, removable storage devices 836 and non-removable storage devices 838 are examples of computer storage media.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD- ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device 800. Any such computer storage media may be part of computing device 800.
  • Computing device 800 may also include an interface bus 840 for facilitating communication from various interface devices (e.g., output devices 842, peripheral interfaces 844, and communication devices 866 to basic configuration 802 via bus/interface controller 830.
  • Example output devices 842 include a graphics processing unit 848 and an audio processing unit 850, which may be configured to communicate to various external devices such as a display or speakers via one or more AV ports 852.
  • Example peripheral interfaces 844 include a serial interface controller 854 or a parallel interface controller 856, which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports 858.
  • An example communication device 866 includes a network controller 860, which may be arranged to facilitate communications with one or more other computing devices 862 over a network communication link via one or more communication ports 864.
  • the network communication link may be one example of a communication media.
  • Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media.
  • a "modulated data signal" may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media.
  • RF radio frequency
  • IR infrared
  • the term computer readable media as used herein may include both storage media and communication media.
  • Computing device 800 may be implemented as a portion of a physical server, virtual server, a computing cloud, or a hybrid device that include any of the above functions.
  • Computing device 800 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.
  • computing device 800 may be implemented as a networked system or as part of a general purpose or specialized server.
  • Networks for a networked system including computing device 800 may comprise any topology of servers, clients, switches, routers, modems, Internet service providers, and any appropriate communication media (e.g., wired or wireless
  • a system may have a static or dynamic network topology.
  • the networks may include a secure network such as an enterprise network (e.g., a LAN, WAN, or WLAN), an unsecure network such as a wireless open network (e.g., IEEE 802.11 wireless networks), or a world- wide network such (e.g., the Internet).
  • the networks may also comprise a plurality of distinct networks that are adapted to operate together. Such networks are configured to provide communication between the nodes described herein.
  • these networks may include wireless media such as acoustic, RF, infrared and other wireless media.
  • the networks may be portions of the same network or separate networks.
  • Example embodiments may also include methods. These methods can be implemented in any number of ways, including the structures described herein. One such way is by machine operations, of devices of the type described in the present disclosure. Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some of the operations while other operations are performed by machines. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program. In other examples, the human interaction can be automated such as by pre-selected criteria that are machine automated.
  • FIG. 9 is a flow diagram illustrating an example method for preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8, arranged in accordance with at least some embodiments described herein.
  • the operations described in blocks 922 through 932 may be stored as computer-executable instructions in a computer-readable medium such as computer-readable medium 920 of controller device 910.
  • Controller device 910 may be a special purpose computing device that may execute algorithms for optimizing WDM PON capacity as described above in conjunction with general purpose computing device 800.
  • a process of optimizing network traffic by allocating requests on multiple wavelengths of ONUs in a WDM PON may include one or more operations, functions or actions as is illustrated by one or more of blocks 922, 924, 926, 928, 930, and/or 932.
  • wavelengths may be assigned to requests one by one without ordering. If the remaining time on a wavelength is not enough to satisfy a request, the unscheduled part may be moved to the next wavelength.
  • the operation may be performed by a processor of a computing device such as processor 804 of computing device 800.
  • Operation 922 may be followed by operation 924, "ADD SORTING.”
  • the processor e.g. processor 804
  • Operation 924 may add two sorting processes executing a second algorithm or within the same algorithm as operation 922.
  • Operation 924 may include at least two sub-operations as illustrated by blocks 926 and/or 928.
  • processor 804 may sort requests in a descending order of their sizes.
  • Sub-operation 926 may be followed by sub-operation 928, "SORT WAVELENGTHS IN ASCENDING AVAILABLE TIME.”
  • the processor e.g. processor 804 may sort wavelengths in the ascending order of their available time. Operations 922 through 928 do not take into account a non-zero laser tuning time as described herein.
  • Operation 924 may be followed by operation 930, "POSTPONE REQUESTS BY LASER TUNING TIME.”
  • the processor e.g.
  • processor 804) may postpone the scheduling of all requests and the last request on each wavelength by the laser tuning time. Since this may create idle times in the schedule and may increase latest job completion time for the schedule, processing may continue to operation 932 for optimization of the allocation of requests on wavelengths taking laser tuning time into consideration.
  • Operation 930 may be followed by operation 932, "FILL IN IDLE TIMES.”
  • the processor e.g. processor 804 may optimize the allocation by dividing the resource allocation process on a wavelength into two steps. The first step is to allocate the time duration between a u w and I; the second step is to allocate the time duration between a l w and a u w , where a l w is the latest job completion time when a laser is tuned to a current wavelength, a u w is the latest job completion time when the laser is to be tuned to any other wavelength, and I is the predefined limit for the latest job completion time.
  • the allocation may be implemented on each ONU such as ONUs 106 and 108 of FIG. 1.
  • FIG. 10 is a flow diagram illustrating an example method for non-preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8, arranged in accordance with at least some embodiments described herein.
  • Some example processes for non-preemptive scheduling may begin with operation 1022, "SORT REQUESTS IN DESCENDING SIZES AND WAVELENGTHS IN ASCENDING AVAILABLE TIME".
  • requests may be sorted in a descending order of their sizes and wavelengths in the descending order of their channel available time.
  • the operation may be performed by a processor of a computing device such as processor 804 of computing device 800.
  • Operation 1022 may be followed by operation 1024, "ASSIGN JOBS ON
  • the processor e.g. processor 804 may perform a search from the first wavelength and a request assigned with the first wavelength on which the request fits. If all the requests can be scheduled before I, then I is a feasible solution.
  • Operation 1024 may be followed by operation 1026, "POSTPONE REQUESTS BY LASER TUNING TIME.”
  • the processor e.g. processor 804 may postpone the scheduling of all requests and the last request on each wavelength by the laser tuning time. Since this may create idle times in the schedule and may increase latest job completion time for the schedule, processing may continue to operation 1028 for optimization of the allocation of requests on wavelengths taking laser tuning time into consideration.
  • Operation 1026 may be followed by operation 1028, "FILL IN IDLE TIMES.”
  • the processor e.g. processor 804 may generate a schedule with a smaller latest job completion time by filling idle time durations on all wavelengths.
  • the time duration between a l w and a u w may be allocated to requests when the laser is tuned to the current wavelength giving higher priority to largest jobs since those are not easy to switch wavelengths.
  • jobs for the time duration between a u w and I may be allocated following the first algorithm. The allocations may be implemented on each ONU such as ONUs 106 and 108 of FIG. 1.
  • Optimized scheduling of network traffic on tunable laser ONUs of WDM PONs may be implemented by similar processes with fewer or additional operations.
  • the operations may be performed in a different order.
  • various operations may be eliminated.
  • various operations may be divided into additional operations, or combined together into fewer operations.
  • illustrated as sequentially ordered operations in some implementations the various operations may be performed in a different order, or in some cases various operations may be performed at substantially the same time.
  • FIG. 11 illustrates a block diagram of an example computer program product 1100 arranged in accordance with at least some embodiments described herein.
  • computer program product 1100 may include a signal bearing medium 1102 that may also include machine readable instructions 1104 that, when executed by, for example, a processor, may provide the functionality described above with respect to FIG 2 through FIG. 6.
  • processor 1104 one or more of the tasks shown in FIG. 11 may be undertaken in response to instructions 1104 conveyed to the processor 1104 by medium 1102 to perform actions associated with scheduling network traffic on tunable laser ONUs of a WDM PON as described herein.
  • signal bearing medium 1102 depicted in FIG. 11 may encompass a computer-readable medium 1106, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disk (DVD), a digital tape, memory, etc.
  • signal bearing medium 1102 may encompass a recordable medium 1108, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc.
  • signal bearing medium 1102 may encompass a communications medium 1110, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
  • a communications medium 1110 such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
  • computer program product 1100 may be conveyed to the processor 1104 by an RF signal bearing medium 1102, where the signal bearing medium 1102 is conveyed by a wireless communications medium 1110 (e.g., a wireless communications medium conforming with the IEEE 802.11 standard).
  • the present disclosure describes a method for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON).
  • the method may include determining whether an allocation is for a preemptive schedule or a non-preemptive schedule. For the preemptive schedule, the method may further include assigning
  • the method for preemptive scheduling may also include moving an unscheduled part of the request to a next wavelength when a remaining time on a wavelength assigned with requests is insufficient to satisfy a request and postponing the requests may include postponing scheduling of all requests and a last request on each wavelength by the laser tuning time associated with an ONU currently being allocated.
  • the method for preemptive scheduling may include sorting the requests in descending order of a size of each request and sorting the wavelengths in ascending order of an available time for each wavelength.
  • Filling in the idle times may include allocating a time duration between a u w and I first and allocating a time duration between a l w and a u w second, where where a L w is a latest job completion time when the laser is tuned to the current wavelength, a u w is a latest job completion time when a laser is to be tuned to a wavelength other than a current one, and I is a predefined limit for the latest job completion time.
  • the requests may be prioritized by size when allocating the requests to the wavelengths between a u w and I.
  • a request may be scheduled on a wavelength when a remaining available time duration after a u w is sufficient to accommodate the request.
  • the method for non-preemptive scheduling may include sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength, performing a search in order of wavelengths starting from a first wavelength, and assigning each request to the wavelengths to which the request temporally fits.
  • the allocation may be determined to be feasible when all requests are scheduled before a predefined limit for latest job completion time.
  • the latest job completion time may be reduced for non-preemptive scheduling by allocating time duration between a l w and a u w to requests when a laser is tuned to a current wavelength, where a l w is a latest job completion time when the laser is tuned to the current wavelength and a u w is a latest job completion time when the laser is to be tuned to a wavelength other than the current wavelength.
  • requests may be prioritized based on a descending order of a size of each request.
  • the method for non-preemptive scheduling may further include allocating remaining requests for a time duration between a u w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength, where I is a predefined limit for the latest job completion time.
  • the present disclosure describes an apparatus for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON).
  • the apparatus may include a memory configured to store instructions and also store network information data associated with the WDM PON and a processor coupled to the memory, wherein the processor is adapted to execute the instructions.
  • the processor may determine whether an allocation is for a preemptive schedule or a non-preemptive schedule. For the preemptive schedule, the processor may assign wavelengths to requests, sort the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength. For the non-preemptive schedule, the processor may sort the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength, and assign each request to the wavelengths to which the request temporally fits. In both cases, the processor may postpone the requests by a laser tuning time associated with each ONU and optimize the schedules by filling in idle times.
  • the processor may fill in the idle times in the preemptive schedule based on allocation of a time duration between a u w and I first and allocation of a time duration between and a u w second, where is a latest job completion time when a laser is tuned to a current wavelength, a u w is the latest job completion time when the laser is to be tuned to a wavelength other than the current one, and I is a predefined limit for the latest job completion time.
  • the processor may fill in the idle times based on allocation of a time duration between a l w and a u w to requests when a laser is tuned to a current wavelength and allocation of remaining requests for a time duration between a u w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength.
  • the ONUs of the WDM PON may include wavelength-tunable sources and/or multi-wavelength sources.
  • the ONUs may also include a full-range laser source and/or a limited-range laser source.
  • the laser source may include one or more of a multi-frequency laser, a distributed feedback (DFB) laser diode (LD) array, a gain-coupled DFB array, a chirped-pulse WDM, a distributed Bragg reflector (DBR) array, a sampled grating DBR, or an external cavity laser etalon.
  • DFB distributed feedback
  • DBR distributed Bragg reflector
  • the present disclosure describes a computer-readable storage medium having instructions stored thereon for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON).
  • the instructions may include determining whether an allocation is for a preemptive schedule or a non-preemptive schedule, assigning wavelengths to requests and sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength in case of preemptive scheduling, and sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength and assigning each request to the wavelengths to which the request temporally fits in case of non- preemptive scheduling.
  • the instructions may also include in both cases of scheduling postponing all requests and a last request on each wavelength by the laser tuning time associated with an ONU currently being allocated and reducing an overall latest job completion time for the preemptive schedule by allocating a time duration between a u w and I first and allocating a time duration between a l w and a u w second, where a l w is a latest job completion time when a laser is tuned to a current wavelength, a u w is the latest job completion time when the laser is to be tuned to a wavelength other than the current one, and I is a predefined limit for the latest job completion time.
  • the instructions may include reducing an overall latest job completion time by allocating a time duration between a l w and a u w to requests when a laser is tuned to a current wavelength and allocating remaining requests for a time duration between a u w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength.
  • the instructions may include prioritizing requests by size when allocating the requests to the wavelengths between a u w and I.
  • the instructions may include prioritizing requests based on a descending order of a size of each request for all wavelengths. According to some examples, a request may be scheduled on a wavelength if a remaining available time duration after a u w is sufficient to accommodate the request. While embodiments are generally discussed in context of WDM PONs, they are not limited to WDM PON applications. Some embodiments may also be implemented for any multiprocessor scheduling computation, where jobs take non-negligible time to switch machines. Such embodiments may be implemented in various fields like industrial engineering and telecommunications.
  • an implementer may opt for a mainly hardware and/or firmware vehicle; if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware.
  • embodiments disclosed herein, in whole or in part, may be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g. as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure.
  • Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
  • a typical data processing system generally includes one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops.
  • a typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data
  • any two components so associated may also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated may also be viewed as being “operably couplable”, to each other to achieve the desired functionality.
  • operably couplable include but are not limited to physically connectable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
  • a range includes each individual member.
  • a group having 1-3 cells refers to groups having 1, 2, or 3 cells.
  • a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.

Abstract

Technologies are generally described for network traffic scheduling in a wavelength division multiplexing (WDM) passive optical network (PON). Dynamic wavelength assignment and time allocation in hybrid WDM/TDM PONs with tunable lasers as optical light generators is accomplished by mapping the scheduling into a multi-processor scheduling problem with wavelength channels as machines and ONU requests as jobs. Wavelengths may be considered as parallel identical machines. Taking laser tuning time into consideration preemptive and non-preemptive scheduling with the objective of minimizing the latest job completion time is computed employing a number of heuristic algorithms. The algorithms compute two extreme cases of zero and infinity laser tuning time, respectively. Using the results from these two extreme cases, the heuristic scheduling schemes for the case of arbitrary laser tuning time yield close average latest job completion times for both schedule types.

Description

SCHEDULING WDM PON WITH TUNABLE LASERS WITH DIFFERENT
TUNING TIMES
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application Serial No. 61/233,539 filed on August 13, 2009. The disclosures of the provisional patent application are hereby incorporated by reference for all purposes.
BACKGROUND
[0002] Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
[0003] Wavelength Division Multiplexing (WDM) Passive Optical Network (PON) is a recently developed network technology for meeting the rapidly increasing traffic demands caused by the popularization of the Internet and spouting of bandwidth-demanding applications. The inherent high cost of multi-wavelength provision may hinder the deployment of WDM PON. As compared to Time Division Multiplexing (TDM) PON, WDM PON may be associated with additional capital expenditure in enabling remote nodes, transmitters, and receivers with multi-wavelength provision capability. The multi- wavelength provision is one parameter in determining the capacity of WDM PON
architecture. Specifically, the capacity of a PON system may depend on the network architecture, wavelength supporting capability of optical devices, as well as data rate of the source generators and receivers.
[0004] Similar to multiple wavelength sources, tunable laser sources are able to generate multiple wavelengths one wavelength at a time. From a network operator's point of view, tunable lasers offer advantages such as simple inventory management, reduced sparing cost, and automated wavelength provisioning. From the MAC layer's point of view, in the case of wavelength- fixed lasers, one wavelength channel is utilized by a fixed set of lasers, and thus statistical multiplexing gain cannot be exploited for traffic from lasers using different wavelength channels. In the case of wavelength tunable lasers, the wavelength tunability of tunable lasers facilitates the statistical multiplexing of traffic from a larger set of lasers, thus potentially yielding better system performance. The present disclosure appreciates that there are several limitations with designing WDM PONs with tunable laser optical network units (ONUs). For example, laser tuning times range from a few tens of nanoseconds to seconds, or even minutes, depending on the adopted technology. Different laser tuning times may introduce different network performances. Thus, scheduling of network traffic on ONUs may become complex given different laser tuning times.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The below described and other features of this disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only several
embodiments in accordance with the disclosure and are, therefore, not to be considered limiting of its scope, the disclosure will be described with additional specificity and detail through use of the accompanying drawings, in which:
FIG. 1 illustrates an example WDM PON architecture, where laser tuning time may be taken into consideration in scheduling network traffic for ONUs;
FIG. 2 illustrates an example of preemptive scheduling when laser tuning time has a value of zero;
FIG. 3 illustrates an example of preemptive scheduling when laser tuning time has a value of 1.5;
FIG. 4 illustrates an example of preemptive scheduling when laser tuning time has a value between zero and infinity;
FIG. 5 illustrates an example of non-preemptive scheduling when laser tuning time has a value of zero;
FIG. 6 illustrates an example of non-preemptive scheduling when laser tuning time has a value between zero and infinity;
FIG. 7 is a diagram illustrating average latest job completion time for different tuning times of lasers;
FIG. 8 illustrates a general purpose computing device, which may be used to implement network traffic scheduling on tunable laser ONUs in a WDM PON taking laser tuning times into consideration;
FIG. 9 is a flow diagram illustrating an example method for preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8; FIG. 10 is a flow diagram illustrating an example method for non-preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8; and
FIG. 11 illustrates a block diagram of an example computer program product, all arranged in accordance with at least some embodiments described herein.
DETAILED DESCRIPTION
[0006] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
[0007] This disclosure is generally drawn, inter alia, to methods, apparatus, systems, devices, and/or computer program products related to optimized scheduling of network traffic for tunable laser ONUs in WDM PONs taking laser tuning time into consideration.
[0008] Briefly stated, dynamic bandwidth allocation (DBA) with any laser tuning time may be mapped into a multi-processor scheduling problem, with wavelength channels as machines, requests from ONUs as jobs, and the laser tuning time as the time that jobs take to switch wavelengths. The latest ONU request (job) completion time may then be minimized to achieve less delay, fairness, and load balancing in practical scenarios with non-zero laser tuning time in preemptive or non-preemptive scheduling scenarios. Some embodiments may also be implemented for any multiprocessor scheduling computation, where jobs take non- negligible time to switch machines. Such embodiments may be implemented in various fields like industrial engineering and telecommunications.
[0009] FIG. 1 illustrates an example of WDM PON architecture, where laser tuning time may be taken into consideration in scheduling network traffic for ONUs according to at least some embodiments described herein. To provision multiple wavelengths for upstream transmission, a WDM PON may be realized in two major classes of architectures, depending on the placement of optical light generators. The first class is to equip optical network units (ONUs) with lasers for their own upstream traffic transmission. The lasers may be placed at the ONU side. The second class may utilize lasers at the optical line terminal (OLT) side to supply seed light for upstream transmission. The unmodulated light supplied by OLT may be first transmitted down to ONUs and then modulated and reflected back by ONUs. Instead of lasers, reflective receivers and modulators may be equipped at ONUs to realize colorless ONUs. The reflective modulator may be based on reflective semiconductor optical amplifier (RSOA) combined with an electro-absorption modulator. Since the signal and seed lights are transmitted in opposite directions on the same wavelength, this type of network may need to consider the effect of optical reflection, including Rayleigh backscattering, which may limit maximum network reach and largest channel bit rate. A network architecture according to the first class may be simpler, more reliable, and potentially able to achieve a higher loss budget and larger bit rates.
[0010] There are three major classes of optical source generators depending on the wavelengths generation capability, namely, wavelength-specific sources, wavelength-tunable sources, and multi-wavelength sources. A wavelength-specific source may emit one specific wavelength, e.g., the common distributed feedback (DFB) laser diode (LD), distributed Bragg reflector (DBR) LD, or the vertical-cavity surface-emitting LD. A multiple-wavelength source may be able to generate multiple WDM wavelengths simultaneously, including multi- frequency laser, gain-coupled DFB LD array, or chirped-pulse WDM. Beside multi- wavelength sources, a wavelength-tunable source may generate multiple wavelengths as well. However, the wavelength-tunable source can typically generate one wavelength at a time. Tunable lasers may employ many technologies such as DFB array, sampled grating DBR, external cavity diode laser etalon, etc. Different technologies may yield different tuning ranges.
[0011] From a media access (MAC) layer's point of view, in the case of wavelength- specific lasers, one wavelength channel is utilized by a fixed set of lasers, and thus the statistical multiplexing gain cannot be exploited for traffic from lasers using different wavelength channels. In the case of wavelength-tunable lasers, the wavelength tunability may facilitate statistical multiplexing of traffic from a larger set of lasers, thus potentially enhancing system performance. Tunable lasers also provide simpler inventory management and reduced spare parts costs for network operators. [0012] According to some implementations, one wavelength may be shared by more than one ONU (106, 108) in a time division multiplexing (TDM) fashion as shown in diagram 100. The hybrid WDM/TDM property of the upstream transmission makes it possible to exploit statistical gain among traffic from different ONUs. In the upstream transmission, tunable lasers (122, 126) at ONUs may be configured to first send out the modulated signal to a remote node (RN) 104. The RN may include a wavelength-insensitive power combiner 118 that is configured to multiplex the upstream signal from ONUs onto the fiber connected to an OLT 102. The signal, which is multiplexed in both the time and wavelength domains, may then be transmitted by the RN 104 to the OLT 102. The OLT 102 may include a wavelength demultiplexer 114 and a receiver array 112 configured to receive the upstream signal. Alternatively, the OLT 102 may also include a downstream WDM source 110 that is configured to send transmissions downstream to downstream receivers 120 and 124 through a splitter 116 at the RN 104. WDM couplers 128 provide coupling for the light transmission path between different components of the system.
[0013] Each ONU (106, 108) in diagram 100 may be equipped with a tunable laser (122, 126) that is adapted for use in upstream data transmissions. Each laser (122, 126) may be tuned to a particular set of wavelengths. The sets of wavelengths tuned by different lasers may include the same particular set of wavelengths, overlapping sets of wavelengths, or disjointed sets of wavelengths. Some particular wavelengths may be shared by more than one ONU so that the statistical gain among traffic of ONUs that share wavelengths may be exploited.
[0014] The upstream-modulated signals may first be transmitted from ONUs (106, 108) by tunable lasers to RN 104. After RN 104 receives the upstream signal, RN 104 may use WDM couplers 128 to separate the upstream signal from the downstream signal and then may employ wavelength-insensitive power combiner 118 to multiplex the upstream signal from the total of ONUs onto the fiber connected to OLT 102. The output signal of the power combiner 118 may be multiplexed in both the time and wavelength domains. RN 104 may then transmit the multiplexed signal to OLT 102. OLT 102 may employ wavelength demultiplexer 114 and a receiver array 112 to receive the upstream signal. In some examples, both the number of output ports of the demultiplexer 114 and the number of receivers may be equal to the total number of wavelengths used in the network. As shown in diagram 100, an example upstream transmission link may consist of four WDM couplers 128, a power combiner 118, a dense WDM demultiplexer 114, and optical fibers. The ONUs, OLTs, RN, and WDM couplers may be considered nodes of the network.
[0034] WDM PONs offer high bandwidth provision by exploiting the high bandwidth of optical fibers. In addition to the above described example network architecture, other approaches are also used to tackle the multi-wavelength provisioning. In some example systems, each ONU may be equipped with lasers for its own upstream traffic transmission. Lasers equipped at ONUs may generate multiple wavelengths at a time. Other example systems may utilize lasers at the OLT side to supply light sources for upstream data transmission at ONUs. The unmodulated signal supplied at the OLT is first transmitted down to ONUs, and then modulated and reflected back by ONUs. Instead of lasers, reflective receivers and modulators may be used at ONUs. The reflective modulator may be based on RSOA combined with an electroabsorption modulator (EAM). The scheme of placing lasers at the OLT enables the sharing of cost-intensive upstream source generators. A wavelength- specified source emits only one specific wavelength, e.g., the common DFB. These wavelength-specified lasers have to be specified at different wavelengths for multi- wavelength provisioning. Similar to multiple wavelength sources, a tunable source is able to generate multiple wavelengths, but only generate one wavelength at a time.
[0035] Tunable transceivers may be based on various technologies such as mechanical, acousto-optic or electro-optic tunability. As an emerging technology, the important cost elements of tunable lasers include "non-optical" specifications such as package dimension, output power, power variation over wavelength, electrical power dissipation, and optical specifications, which include the tuning speed and tuning range. Lasers' tuning (wavelength switching) time impact the scheduling schemes, and hence system performance. According to the adopted technology, the tuning time may range from a few tens of nanoseconds (electrooptic) to a few tens of milliseconds (mechanical), or even seconds or minutes. Generally, the higher the tuning speed, the more sophisticated the technology is needed, and hence the higher the tunable laser costs. Assuming a DBA cycle lasts for 2 ms, the tuning time with some of the technologies are not negligible as compared to one DBA cycle from the perspective of the MAC layer scheduling. Embodiments take into consideration laser tuning time in designing scheduling schemes.
[0036] FIG. 2 illustrates an example of preemptive scheduling when laser tuning time has a value of zero. Network traffic scheduling for a WDM PON with tunable laser ONUs can be mapped into a multi-processor scheduling problem by regarding wavelength channels as parallel independent machines and queue requests from ONUs as jobs. Both machines and jobs in the multi-processor scheduling problem may possess some unique properties. For jobs, requests from queues in the same ONU may be treated as one single job. Then, the jobs can be viewed as possessing two main properties: (1) due to the lasers' tuning time, a certain time gap may be needed between the scheduling time of two jobs belonging to the same ONU when they use different wavelength channels; (2) a job may be divided into a group of subjobs each corresponding to a request from one queue in an ONU. These decomposed subjobs may be further divided into subjobs each corresponding to requests of particular packets in the queue. Thus, the jobs can
Figure imgf000008_0001
preemptable. However, since fragmentation is not allowed in a PON, a packet cannot be further decomposed into subpackets. Therefore, jobs cannot be decomposed infinitely. Thus, some subjobs are non-preemptable. For machines, each machine (wavelength channel) may have its own dynamic resource allocation (DBA) cycle. Assuming extended multipoint control protocol (MPCP) is used by the WDM PON, the duration of the DBA cycle with respect to each wavelength in WDM PON may be dynamically adaptive to the incoming traffic. The cycle length may have an upper bound to avoid significant delay to satisfy the quality of service (QoS) requirements of some queues. Furthermore, since the traffic conditions on different wavelengths may be different from each other, the cycle lengths of wavelengths may differ from each other. Thus, equalizing DBA cycle durations for all wavelengths may be treated as scheduling objective.
[0037] According to some embodiments, network traffic scheduling in a WDM PON with tunable lasers may be mapped into a multi-processor scheduling problem, in which jobs can be either preemptable or non-preemptable. The lasers' tuning times may be classified into three classes: (1) negligible as compared to the cycle duration, (2) non-negligible but less than one cycle duration, and (3) greater than one cycle. For lasers of category 1, existing algorithms in multi-processor scheduling may be employed to solve the problem. For lasers of category 3, scheduling may be reduced to a single-processor problem since lasers cannot switch between wavelengths within a cycle. Embodiments are directed to scheduling network traffic for lasers of category 2 employing heuristic algorithms with preemptable jobs and non-preemptable jobs.
[0038] One approach to modeling jobs is to treat each queue request of an ONU as an individual job. Due to the laser on/off time, a guard time is needed between scheduling of jobs from different ONUs. To save the guard time, jobs from the same ONU may be scheduled consecutively and can be grouped together as a single job for simplicity. Thus, the total requests of an ONU as a single job.
[0039] In multi-processor scheduling, preemptable jobs can be scheduled more flexibly and yield better system performances as compared to non-preemptable jobs.
However, when preemption is allowed, jobs may be divided and scheduled in non-continuous time periods, which may incur some extra time gap for laser on/off. It is challenging to determine whether the extra cost introduced by the guard time outweighs the extra performance improvement introduced by flexibility. Some embodiments assume zero guard time for laser on/off and compare the performances of preemptive and non-preemptive scheduling.
[0040] In assigning wavelengths to ONUs, a latest job completion time among all requests may be attempted to be minimized and the usage of all wavelength channels equalized for two main reasons. First, assuming one wavelength is more loaded than another one, ONUs assigned with the over-loaded wavelength may experience longer waiting time than those using the other wavelength. Equalizing the wavelength usage may ensure fairness among ONUs. Second, in terms of the just-in-time scheduling framework, an OLT makes bandwidth allocation decisions before any of the wavelengths becomes idle. If all wavelengths become idle simultaneously, the scheduler can collect the requests from most of the ONUs, and thereby make a fair decision. If one wavelength turns idle much earlier than the others, few requests may arrive at the scheduler before the decision making time. In the worst case scenario, just-in-time scheduling may be degraded into on-line scheduling, where the decision is made for one ONU request only. This may result in unfairness and increase the frequency of calculating bandwidth allocation. Therefore, for the sake of less delay, fairness, and load balancing, minimizing the latest job completion time may be considered as the scheduling objective.
[0041] The scheduling may be mathematically formulated employing a DBA cycle. A DBA cycle in a hybrid WDM/TDM PON refers to the time difference between two consecutive DBA decision making instances. For stating DBA cycle, following definitions may be used:
n : the number of ONUs.
m : the number of wavelengths. τ : the laser tuning time.
t : the decision making time of the current cycle.
r = {ri, r2, ..., rn} : the time durations of requests from n ONUs on m identical machines.
{λi, λ2, ..., λn} : the wavelengths lasers at n ONUs are respectively tuned at time t.
(Cf1, C2 "1,..., Cn "1) : the latest job completion time on m wavelengths in the last cycle.
The objective can be defined as finding a schedule such that the latest job completion time on all wavelengths in the sought schedule is equal or less than the latest job completion time on all wavelengths in a particular schedule with preemption allowed and disallowed, respectively.
[0042] It can be shown that for any given request, lasers with smaller tuning time yield smaller latest job completion time. From that upper and lower bounds (τ = 0 and τ = +∞) may be inferred for the latest job completion time on all wavelengths in the sought schedule. For τ = +∞, a request i can only be scheduled on wavelength X1 and the latest job completion time on wavelength w may be defined as al w +∑{i| χ[=wj V1, where a1 is the latest job completion time for request i with λ, = w and au is the latest job completion time for request i with X1≠w. Thus, a1≤ au≤ a1 + τ, and the latest job completion time for the last cycle is SL W if λ, = w and au w otherwise.
[0043] For τ = 0, the schedule may be determined through multiprocessor scheduling problem. According to some embodiments, an algorithm such as algorithm 1 below may be employed.
1 : w = 1
2: for i = 1 : n do
3 : if the available resource on wavelength w is enough to schedule request i then
4: Allocate the available time on wavelength w to request i from the back
5 : Update the available resource on wavelength w
6: else
7: Allocate the remaining time on wavelength w to request i
8 : Assign the remainder of request i to wavelength w+ 1
9: w = w + 1
10: end if
11 : end for
Algorithm 1 assigns wavelengths to requests one by one without any ordering. If the remaining time on a wavelength is not enough to satisfy a request, the unscheduled part may be moved to the next wavelength as described in lines 7 and 8. [0044] When al w≠ aV for all w≠ w', large requests may need to be scheduled in wavelengths with smaller available time. To approach the scheduling under this condition algorithm 1 may be modified by adding an ordering process as detailed in algorithm 2 below.
1 : Index ONU requests such that rl > r2 > ... > rn
2: Index wavelengths such that
Figure imgf000011_0001
≤ ...≤a'm
3 : Perform algorithm 1
Compared to algorithm 1, algorithm 2 adds two sorting processes: sort requests in the descending order of their sizes, and sort wavelengths in the ascending order of their available time.
[0045] Diagram 200 of FIG. 2 includes a scheduling example with eight ONUs (232) and three wavelengths 236 following algorithm 2. The laser tuning times T1 (234) for the ONUs (232) are ordered with the largest one first. Latest job completion times al w 238 and au w 240 are also listed under the wavelengths 236. The allocation of requests on wavelength Wi 242 shows how request 1 is allocated with the time duration [6,14] on that wavelength. The remaining time duration on wavelength W1 is not enough to satisfy request 2. Part of request 2 may be scheduled in time duration [0,6] on wavelength W1 and the other part in time duration [13,14] on wavelength w2 as shown by allocation of requests for wavelength w2 244. Similarly, part of request 4 may be scheduled on wavelength w2, and the other part on wavelength W3 as shown by allocation of requests for wavelength W3 246. The allocations of requests are illustrated on time axis 248. The requests are scheduled before time point 14.
[0046] FIG. 3 illustrates an example of preemptive scheduling when laser tuning time has a value of 1.5. A schedule produced by algorithm 2 for the case that τ = 0 may not be a feasible schedule when the laser tuning time τ is greater than zero since lasers may not be given enough time to switch wavelengths. To generate a feasible schedule for the case that 0 < τ < +°°, a heuristic algorithm may be employed to modify Algorithm 2.
[0047] Since all requests are postponed by time τ, the corresponding laser for request i is idle during al w + τ, and the laser is given enough time to schedule the first request. A request may be divided into at most two parts through algorithm 2, among which one is scheduled at the end of a wavelength, and another one is scheduled at the beginning of a wavelength. Algorithm 3 postpones the last schedule on each wavelength by τ, and hence lasers are given enough time to schedule the last scheduled request.
1 : Construct schedule S by using algorithm 2
2: Postpone the scheduling of all requests by τ 3 : Postpone the scheduling of the last request on each wavelength by τ
The modification, as described in algorithm 3, includes two steps. The first step is to postpone the scheduling of all requests by τ as described in line 2. The second step is to postpone the scheduling of the last request on each wavelength by τ as described in line 3.
[0048] As shown in diagram 300 for the case τ = 1.5, requests 1 through 8 are separated by the two postponements for each wavelength in allocations of requests for wavelengths W1, W2, and W3 (352, 354, 356) against time axis 348. As a result, the latest job completion time increases from 14 to 17 (or by 2 τ).
[0049] FIG. 4 illustrates an example of preemptive scheduling when laser tuning time has a value between zero and infinity. When the laser tuning time is 0 < τ < +∞, lasers need to be given at least τ time duration in order to switch wavelengths. In a preemptive downstream traffic scheduling computation, any request can be scheduled on any
wavelength, but cannot be divided into parts and scheduled on multiple wavelengths. The time duration, which can be allocated on any wavelength equals to (£-t-τ). Whether all requests can be scheduled before I is equivalent to the consideration whether all these given requests can be divided into m groups, in which the sum of requests in each group is no greater than€-t-τ.
[0050] In the schedule produced by algorithm 3, there are two idle time gaps of duration τ on each wavelength. One is the time gap between al w and al w + τ, and the other is the time gap before the scheduling of the last request. To produce a schedule S with latest job completion time for all wavelengths (r, τ ) smaller than latest job completion time for all wavelengths (r, 0) + 2τ, these idle time gaps need to be properly filled. To this end, another heuristic algorithm 4 may be employed.
1 : Initialize xw = γw, y w = I
2: Index wavelengths such that
Figure imgf000012_0001
3 : for w = 1 : m do
4: /*Step 1 : The allocation between au w and 1*1
5 : Index unscheduled requests such that r 1 > r2 > ...
6: for i = 1 : n do
7: if T1 < yw - au w and xw - T1 > (
Figure imgf000012_0002
a\ - then
8: Allocate time duration [yw - V1, yw] to request i
9: yw = yw - rl5 χλi = χλl -ri
10: end if
11 : end for 12: Denote xw and yw as x*w and y*w, respectively.
13: /*Step 2: The allocation between au w and y*w /
14: Index unscheduled requests with X1 = w such that T1 > r2 > ...
15: i = l
16: while there is available time on wavelength w and there are unscheduled requests with
X1 = w do
17: if T1 < yw - al w then
18 : Allocate time [yw - X1, yw] on wavelength w to request i
19: else
20: Allocate time [al w, yw] on wavelength w and time [I - (V1 - yw + al w), £]
on wavelength w + 1 to request i
21 : yw+l = I - (V1 - yw + a*w)
22: end if
23: i = i + l
24: end while
25: end for
[0051] Algorithm 4 constructs the schedule according to three basic rules: (1) The time gap between al w and au w may be filled by requests with X1 = w to the best. Request i may be scheduled on a wavelength other than X1 only if the gap filling between
Figure imgf000013_0001
and au^ is not affected after the scheduling. (2) Similar to algorithm 2, to guarantee large requests with enough bandwidth, the resource in the wavelength with the smallest al w may be allocated first and the largest request scheduled first. (3) Similar to algorithm 3, preemption may be disallowed in the middle of the time span on a wavelength. If one request is preempted and scheduled during [μ, v] on a wavelength, this request cannot be scheduled during μ-τ and v+τ on any wavelength, and thus resulting in smaller chances of scheduling the remainder of the request in other wavelengths.
[0052] More specifically, algorithm 4 divides the resource allocation process on a wavelength into two steps. The first step is to allocate the time duration between au w and last job completion time I. The second step is to allocate the time duration between al w and au w. The time duration between au w and last job completion time I on wavelength w may be allocated to any request, while the time duration between al w and au w on wavelength w can only be allocated to requests with X1≠ w. When allocating the resource between au w and last job completion time I, the largest request may be considered first. To avoid preemption in the middle of the schedule, a request may be scheduled on wavelength w only if the remaining available time duration after au w is sufficient to accommodate the request. On the other hand, since allocating request i to wavelength w may decrease the total traffic Jχ[ which can be used to fill the gap between a1^ and a\ on wavelength X1, request i may be allocated onto wavelength w only if the gap filling between aVi and au^ is not affected as described in line 7.
[0053] xw may be used to track the total traffic which can fill the gap between al w and au w, and yw to track the end of the available time on wavelength w. xw and yw are initialized to be γw and I, respectively. The time duration al w and yw is the resource, which is still available. xw and yw may be denoted after performing the first step as x*w and y*w, respectively. The first step tries to let y*w approach au w without affecting the filling of the gap between al w and au w, for all w. The second step of allocating the time between al w and y*w considers the largest unscheduled request with X1 = w first. If the remaining time is not enough to schedule the request, the remaining unscheduled part of the request may be scheduled onto the next wavelength as described in line 20.
[0054] It can be seen that if x*w > y*w - al w, the time duration between al w and y*w on wavelength w can be allocated, and there is no idle time gap on wavelength w. If x*w < y*w - al w, the time duration between al w and y*w - x*w on wavelength w is idle. Algorithm 4 takes two measures to reduce the duration of the idle time gap. One is to let y*w approach au w to the best, and the other is to make sure that x*w is always above au w - al w if γw > au w - al w.
[0055] Diagram 400 illustrates an example scenario with twelve ONUs (462) and four wavelengths (468). Requests 464 are ordered based on size (large to small) along with assigned wavelengths 466. The laser tuning time for the example scenario is τ = 5 for all lasers. The decision making time is t = 0. The latest job completion times on wavelengths in the last cycle are 0, 1, 1, and 2, respectively (dark shaded areas in wavelength allocations 474, 476, 478, and 480). Thus, a'w (470) = {0, 1, 1, 2}, au w (472) = {5, 5, 5, 5}, and I = 15. Request 1 with the largest size cannot be scheduled on wavelength wi because the bandwidth from aui to I is not sufficient to satisfy request 1. Request 2 satisfies all conditions and is scheduled on wavelength W1. After scheduling request 2, the remaining time duration between aui and I can only accommodate requests with sizes no greater than 3. Request 8 with size 3 is not scheduled between aui and I on wavelength wi because the gap between
Figure imgf000014_0001
and aui cannot be filled without request 8.
[0056] After scheduling request 9, the time between aui and I on wavelength W1 has been all allocated. The scheduling enters into the second step of allocating
Figure imgf000014_0002
aui]. After scheduling request 6, which is the largest among all requests with X1 = 1, the remaining time duration is not enough to schedule the next largest request, i.e. request 8 with 3. Hence, request 8 is divided into two parts, among which the first part of size 1 is scheduled on wavelength W1 and the second part of size 2 is scheduled on wavelength w2. After repeating this process for all requests, they can be scheduled before I = 15.
[0057] FIG. 5 illustrates an example of non-preemptive scheduling when laser tuning time has a value of zero. When preemption is disallowed (non-preemptable case), the relationship between the latest job completion time and the laser tuning time still holds, i.e. for any request a latest job completion time for (r, τ) is equal or smaller than a latest job completion time for (r, τ+ε), where ε is greater than zero.
[0058] As discussed previously, lasers always stay on their respective original wavelengths when τ = +∞. Thus, preemptive and non-preemptive scheduling produces the same latest job completion time. In case of τ = 0 for non-preemptive scheduling, a heuristic first-fit decreasing (FFD) algorithm (or similar) may be used.
1 : Index requests such that x\ > r2 > ... > rn
2: Index wavelengths such that
Figure imgf000015_0001
< a^
3 : for i = 1 : n do
4: w = 1
5 : while Request i is not scheduled yet do
6: if wavelength w has enough bandwidth for the request then
7: Assign wavelength w to the request
8: else
9: w = w + l
10: end if
11 : end while
12: end for
[0059] Algorithm 5 above is an example of an FFD algorithm and first sorts jobs in the descending order of their sizes and machines in the descending order of their channel available time. Then, the algorithm searches from the first machine and tries to assign a job with the first machine on which the job fits. If all the jobs can be scheduled before I, then I is a feasible solution.
[0060] Diagram 500 illustrates an example scenario with nine ONUs 582 and three wavelengths 586, where the requests 584 are scheduled according to non-preemptive scheduling. The requests 584 are again ordered by size (large to small) and SL W 588 are listed for each wavelength. As shown in wavelength allocations 590, 592, and 594 against time axis 548, the requests are allocated on wavelengths W1, W2, and W3 without splitting a request between two wavelengths following algorithm 5.
[0061] FIG. 6 illustrates an example of non-preemptive scheduling when laser tuning time has a value between zero and infinity. In the general case of 0 < τ = +∞, scheduling is NP -hard when preemption is disallowed, since it is not easier than the computation under the case that τ = 0. Two heuristic algorithms may be employed for this particular scheduling by modifying algorithm 5 in different ways. Algorithm 6 below describes a first heuristic algorithm that may be employed. In algorithm 6, schedule S is first constructed by using algorithm 5. Then, the scheduling of all requests is postponed by time τ to give lasers enough time to switch wavelengths. Since preemption is disallowed in schedule S, each request is scheduled on one wavelength only in schedule S. By postponing all requests in S with τ = 0 with a time duration of τ , the time period between al w and al w + τ is idle, and hence lasers can have enough time to switch wavelengths.
1 : Construct schedule S by using algorithm 5
2: Postpone scheduling of all requests in S by time τ
[0062] In the schedule produced by algorithm 6, the time duration between al w and al w + τ is unoccupied. To generate a schedule with a smaller latest job completion time, algorithm 7 below may be employed by filling idle time durations on all wavelengths.
Algorithm 7 includes two steps. The first step is to allocate the time period between al w and au w on wavelength w to requests with X1 = w. The largest jobs may be given higher priorities since they are not easy to switch wavelengths. The second step is to allocate the time period between al u and I. According to some embodiments, algorithm 5 may be applied directly in the second step.
1 : /*Step 1 : Schedule between au w and 1*1
2: for w = 1 : m do
3 : Index requests with X1 = w such that r 1 > r2 > r3....
4: Allocate time to requests with X1 = w until the time exceeds au w
5 : end for
6: /*Step 2: Schedule between al w and au w*/
7: Run algorithm 5 to allocate bandwidth to remaining unscheduled requests
[0063] Diagram 600 illustrates the same example scenario as shown in FIG. 4 employing algorithm 7 assuming the tuning time is 5 and I = 13. Twelve ONUs 602 and associated requests T1 604 are listed along with wavelengths X1 606 to which the requests are assigned. Available wavelengths w 608 with their respective al w (610) and au w (612) are also shown. Wavelength allocations 614, 616, 618, and 620 display how jobs 2, 3, 4, 8, and 10 still use their last tuned wavelengths after the first step. After the second step, the remaining jobs are successfully scheduled before time point 13 along time axis 648. It should be noted that I cannot be further decreased. The latest job completion time is thus 13.
[0064] While embodiments have been discussed above using specific examples, components, scenarios, and configurations in FIG. 1 through FIG. 6, they are intended to provide a general guideline to be used for optimizing network traffic scheduling in tunable laser ONUs of WDM PONs. These examples do not constitute a limitation on the embodiments, which may be implements using other components, maximization schemes, and configurations using the principles described herein. For example, other algorithms may be implemented than those provided as example for scheduling network traffic, number of wavelengths, and the like.
[0065] Thus, according to at least some embodiments, dynamic bandwidth allocation (DBA) with any laser tuning time is mapped into a multi-processor scheduling problem, with wavelength channels as machines and requests from ONUs as jobs. The latest ONU request (job) completion time is then minimized to achieve less delay, fairness, and load balancing in practical scenarios with non-zero laser tuning time and preemptive or non-preemptive scheduling.
[0066] For preemptive scheduling, request allocation may be accomplished through a combination of four algorithms. The first algorithm may assign wavelengths to requests one by one without ordering. If the remaining time on a wavelength is not enough to satisfy a request, the unscheduled part may be moved to the next wavelength. A second algorithm may add two sorting processes. First process sorts requests in a descending order of their sizes. The second process sorts wavelengths in the ascending order of their available time. First and second algorithms do not take into account a non-zero laser tuning time. A third algorithm may accomplish that by postponing the scheduling of all requests and the last request on each wavelength by the laser tuning time. A fourth algorithm may then fill in idle times in the scheduling and optimize the allocation by dividing the resource allocation process on a wavelength into two steps. The first step is to allocate the time duration between au w and I; the second step is to allocate the time duration between
Figure imgf000017_0001
and au w, where
Figure imgf000017_0002
is the latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to any other wavelength, and I is the predefined limit for the latest job completion time. When allocating the resource between au w and I, the largest request may be considered first. To avoid preemption in the middle of the schedule, a request may be scheduled on wavelength w if the remaining available time duration after au w is enough to accommodate the request decreasing the total traffic.
[0067] For non-preemptive scheduling, request allocation may be accomplished through a combination of three algorithms. The first algorithm may sort jobs in a descending order of their sizes and machines in the descending order of their channel available time. Then, a search may be performed from the first machine and a job assigned with the first machine on which the job fits. If all the jobs can be scheduled before I, then I is a feasible solution. The second algorithm postpones scheduling of requests by the laser tuning time to factor in non-zero laser tuning times. The third algorithm generates a schedule with a smaller latest job completion time by filling idle time durations on all wavelengths. As a first step the time duration between
Figure imgf000018_0001
and au w may be allocated to requests when the laser is tuned to the current wavelength giving higher priority to largest jobs since those are not easy to switch wavelengths. Next, jobs for the time duration between au w and I may be allocated following the first algorithm.
[0068] FIG. 7 is a diagram illustrating average latest job completion time for different tuning times of lasers. Diagram 700 shows simulation results for an example system according to some embodiments demonstrating that the average latest request completion time 722 increases with the increase of the laser tuning time 724. When the tuning time is less than ~ 20 for the example system, the corresponding latest request completion time is not far away from the value achieved when τ = 0. This implies that lasers with tuning time equaling to 20 can achieve almost equal performance as compared to those with tuning time equaling to 0. However, when the tuning time increases beyond 24, the latest job completion time sharply increases.
[0069] In addition, the average latest job completion time achieved when preemption is disallowed (726) is slightly higher than that achieved when preemption is allowed (728) following similar patterns. The difference of average performance is almost negligible. Hence, as compared to the non-preemption case (728), preemption does not introduce a significant average performance improvement.
[0070] The simulation results shown in diagram 700 are for illustration purposes and do not constitute a limitation on embodiments. The pattern and values of latest job completion time (performance) of a WDM PON according to embodiments may differ depending on network configuration, number of components, types of lasers used, etc.
[0068] FIG. 8 illustrates an example general purpose computing device 800, which may be used to implement network traffic scheduling on tunable laser ONUs in a WDM PON taking laser tuning times into consideration according to at least some examples of the present disclosure. In a very basic configuration 802, computing device 800 typically includes one or more processors 804 and a system memory 806. A memory bus 808 may be used for communicating between processor 804 and system memory 806.
[0069] Depending on the desired configuration, processor 804 may be of any type including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. Processor 804 may include one more levels of caching, such as a level cache memory 812, a processor core 814, and registers 816.
Example processor core 814 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller 818 may also be used with processor 804, or in some implementations memory controller 818 may be an internal part of processor 804.
[0070] Depending on the desired configuration, system memory 806 may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. System memory 806 may include an operating system 820, one or more applications 822, and program data 824. Application 822 may include a scheduling module 826 that is arranged to schedule network traffic for tunable laser ONUs in a WDM PON and any other processes, methods and functions as discussed above. Program data 824 may include one or more of analysis data 828 (e.g. network traffic data, component characteristics, etc.) and similar data as discussed above in conjunction with at least FIG. 2 through 6. This data may be useful for determining optimized network traffic schedule on multiple wavelengths of tunable laser ONUs as is described herein. In some embodiments, application 822 may be arranged to operate with program data 824 on operating system 820 such that ONU traffic is scheduled as described herein. This described basic configuration 802 is illustrated in FIG. 8 by those components within the inner dashed line.
[0071] Computing device 800 may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration 802 and any required devices and interfaces. For example, a bus/interface controller 830 may be used to facilitate communications between basic configuration 802 and one or more data storage devices 832 via a storage interface bus 834. Data storage devices 832 may be removable storage devices 836, non-removable storage devices 838, or a combination thereof.
Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
[0072] System memory 806, removable storage devices 836 and non-removable storage devices 838 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD- ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device 800. Any such computer storage media may be part of computing device 800.
[0073] Computing device 800 may also include an interface bus 840 for facilitating communication from various interface devices (e.g., output devices 842, peripheral interfaces 844, and communication devices 866 to basic configuration 802 via bus/interface controller 830. Example output devices 842 include a graphics processing unit 848 and an audio processing unit 850, which may be configured to communicate to various external devices such as a display or speakers via one or more AV ports 852. Example peripheral interfaces 844 include a serial interface controller 854 or a parallel interface controller 856, which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports 858. An example communication device 866 includes a network controller 860, which may be arranged to facilitate communications with one or more other computing devices 862 over a network communication link via one or more communication ports 864. [0074] The network communication link may be one example of a communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A "modulated data signal" may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein may include both storage media and communication media.
[0075] Computing device 800 may be implemented as a portion of a physical server, virtual server, a computing cloud, or a hybrid device that include any of the above functions. Computing device 800 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations. Moreover computing device 800 may be implemented as a networked system or as part of a general purpose or specialized server.
[0076] Networks for a networked system including computing device 800 may comprise any topology of servers, clients, switches, routers, modems, Internet service providers, and any appropriate communication media (e.g., wired or wireless
communications). A system according to embodiments may have a static or dynamic network topology. The networks may include a secure network such as an enterprise network (e.g., a LAN, WAN, or WLAN), an unsecure network such as a wireless open network (e.g., IEEE 802.11 wireless networks), or a world- wide network such (e.g., the Internet). The networks may also comprise a plurality of distinct networks that are adapted to operate together. Such networks are configured to provide communication between the nodes described herein. By way of example, and not limitation, these networks may include wireless media such as acoustic, RF, infrared and other wireless media. Furthermore, the networks may be portions of the same network or separate networks.
[0077] Example embodiments may also include methods. These methods can be implemented in any number of ways, including the structures described herein. One such way is by machine operations, of devices of the type described in the present disclosure. Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some of the operations while other operations are performed by machines. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program. In other examples, the human interaction can be automated such as by pre-selected criteria that are machine automated.
[0078] FIG. 9 is a flow diagram illustrating an example method for preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8, arranged in accordance with at least some embodiments described herein. The operations described in blocks 922 through 932 may be stored as computer-executable instructions in a computer-readable medium such as computer-readable medium 920 of controller device 910. Controller device 910 may be a special purpose computing device that may execute algorithms for optimizing WDM PON capacity as described above in conjunction with general purpose computing device 800.
[0079] A process of optimizing network traffic by allocating requests on multiple wavelengths of ONUs in a WDM PON may include one or more operations, functions or actions as is illustrated by one or more of blocks 922, 924, 926, 928, 930, and/or 932.
[0080] Some example processes may begin with operation 922, "ASSIGN
WAVELENGTHS TO REQUESTS". At operation 922, wavelengths may be assigned to requests one by one without ordering. If the remaining time on a wavelength is not enough to satisfy a request, the unscheduled part may be moved to the next wavelength. The operation may be performed by a processor of a computing device such as processor 804 of computing device 800.
[0081] Operation 922 may be followed by operation 924, "ADD SORTING." At operation 924, the processor (e.g. processor 804) may add two sorting processes executing a second algorithm or within the same algorithm as operation 922. Operation 924 may include at least two sub-operations as illustrated by blocks 926 and/or 928.
[0082] At sub-operation 926, "SORT REQUESTS IN DESCENDING SIZES", processor 804 may sort requests in a descending order of their sizes. Sub-operation 926 may be followed by sub-operation 928, "SORT WAVELENGTHS IN ASCENDING AVAILABLE TIME." At sub- operation 928, the processor (e.g. processor 804) may sort wavelengths in the ascending order of their available time. Operations 922 through 928 do not take into account a non-zero laser tuning time as described herein. [0083] Operation 924 may be followed by operation 930, "POSTPONE REQUESTS BY LASER TUNING TIME." At operation 930, the processor (e.g. processor 804) may postpone the scheduling of all requests and the last request on each wavelength by the laser tuning time. Since this may create idle times in the schedule and may increase latest job completion time for the schedule, processing may continue to operation 932 for optimization of the allocation of requests on wavelengths taking laser tuning time into consideration.
[0084] Operation 930 may be followed by operation 932, "FILL IN IDLE TIMES." At operation 932, the processor (e.g. processor 804) may optimize the allocation by dividing the resource allocation process on a wavelength into two steps. The first step is to allocate the time duration between au w and I; the second step is to allocate the time duration between al w and au w, where al w is the latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to any other wavelength, and I is the predefined limit for the latest job completion time. The allocation may be implemented on each ONU such as ONUs 106 and 108 of FIG. 1.
[0085] FIG. 10 is a flow diagram illustrating an example method for non-preemptive scheduling that may be performed by a computing device such as device 800 in FIG. 8, arranged in accordance with at least some embodiments described herein.
[0086] Some example processes for non-preemptive scheduling may begin with operation 1022, "SORT REQUESTS IN DESCENDING SIZES AND WAVELENGTHS IN ASCENDING AVAILABLE TIME". At operation 1022, requests may be sorted in a descending order of their sizes and wavelengths in the descending order of their channel available time. The operation may be performed by a processor of a computing device such as processor 804 of computing device 800.
[0087] Operation 1022 may be followed by operation 1024, "ASSIGN JOBS ON
WAVELENGTH AS THEY FIT." At operation 1024, the processor (e.g. processor 804) may perform a search from the first wavelength and a request assigned with the first wavelength on which the request fits. If all the requests can be scheduled before I, then I is a feasible solution.
[0088] Operation 1024 may be followed by operation 1026, "POSTPONE REQUESTS BY LASER TUNING TIME." At operation 1026, the processor (e.g. processor 804) may postpone the scheduling of all requests and the last request on each wavelength by the laser tuning time. Since this may create idle times in the schedule and may increase latest job completion time for the schedule, processing may continue to operation 1028 for optimization of the allocation of requests on wavelengths taking laser tuning time into consideration.
[0089] Operation 1026 may be followed by operation 1028, "FILL IN IDLE TIMES." At operation 1028, the processor (e.g. processor 804) may generate a schedule with a smaller latest job completion time by filling idle time durations on all wavelengths. First, the time duration between al w and au w may be allocated to requests when the laser is tuned to the current wavelength giving higher priority to largest jobs since those are not easy to switch wavelengths. Next, jobs for the time duration between au w and I may be allocated following the first algorithm. The allocations may be implemented on each ONU such as ONUs 106 and 108 of FIG. 1.
[0090] The operations included in the processes of FIG. 9 and FIG. 10 described above are for illustration purposes. Optimized scheduling of network traffic on tunable laser ONUs of WDM PONs may be implemented by similar processes with fewer or additional operations. In some examples, the operations may be performed in a different order. In some other examples, various operations may be eliminated. In still other examples, various operations may be divided into additional operations, or combined together into fewer operations. Although illustrated as sequentially ordered operations, in some implementations the various operations may be performed in a different order, or in some cases various operations may be performed at substantially the same time.
[0091] FIG. 11 illustrates a block diagram of an example computer program product 1100 arranged in accordance with at least some embodiments described herein. In some examples, as shown in FIG. 11, computer program product 1100 may include a signal bearing medium 1102 that may also include machine readable instructions 1104 that, when executed by, for example, a processor, may provide the functionality described above with respect to FIG 2 through FIG. 6. Thus, for example, referring to processor 1104, one or more of the tasks shown in FIG. 11 may be undertaken in response to instructions 1104 conveyed to the processor 1104 by medium 1102 to perform actions associated with scheduling network traffic on tunable laser ONUs of a WDM PON as described herein. Some of those instructions may include determining preemptive and non-preemptive schedules, performing preemptive scheduling, and non-preemptive scheduling through one or more algorithms as described previously. [0092] In some implementations, signal bearing medium 1102 depicted in FIG. 11 may encompass a computer-readable medium 1106, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disk (DVD), a digital tape, memory, etc. In some implementations, signal bearing medium 1102 may encompass a recordable medium 1108, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, signal bearing medium 1102 may encompass a communications medium 1110, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, computer program product 1100 may be conveyed to the processor 1104 by an RF signal bearing medium 1102, where the signal bearing medium 1102 is conveyed by a wireless communications medium 1110 (e.g., a wireless communications medium conforming with the IEEE 802.11 standard).
[0093] In some examples, the present disclosure describes a method for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON). The method may include determining whether an allocation is for a preemptive schedule or a non-preemptive schedule. For the preemptive schedule, the method may further include assigning
wavelengths to requests, sorting the requests and the wavelengths, postponing the requests by a laser tuning time associated with each ONU, and optimizing the preemptive schedule by filling in idle times.
[0094] In other examples, the method for preemptive scheduling may also include moving an unscheduled part of the request to a next wavelength when a remaining time on a wavelength assigned with requests is insufficient to satisfy a request and postponing the requests may include postponing scheduling of all requests and a last request on each wavelength by the laser tuning time associated with an ONU currently being allocated.
[0095] In further examples, the method for preemptive scheduling may include sorting the requests in descending order of a size of each request and sorting the wavelengths in ascending order of an available time for each wavelength. Filling in the idle times may include allocating a time duration between au w and I first and allocating a time duration between al w and au w second, where where aL w is a latest job completion time when the laser is tuned to the current wavelength, au w is a latest job completion time when a laser is to be tuned to a wavelength other than a current one, and I is a predefined limit for the latest job completion time. The requests may be prioritized by size when allocating the requests to the wavelengths between au w and I. Furthermore, a request may be scheduled on a wavelength when a remaining available time duration after au w is sufficient to accommodate the request.
[0096] In yet other examples, the method for non-preemptive scheduling may include sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength, performing a search in order of wavelengths starting from a first wavelength, and assigning each request to the wavelengths to which the request temporally fits.
[0097] The allocation may be determined to be feasible when all requests are scheduled before a predefined limit for latest job completion time. The latest job completion time may be reduced for non-preemptive scheduling by allocating time duration between al w and au w to requests when a laser is tuned to a current wavelength, where al w is a latest job completion time when the laser is tuned to the current wavelength and au w is a latest job completion time when the laser is to be tuned to a wavelength other than the current wavelength.
[0098] In case of non-preemptive scheduling, requests may be prioritized based on a descending order of a size of each request. The method for non-preemptive scheduling may further include allocating remaining requests for a time duration between au w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength, where I is a predefined limit for the latest job completion time.
[0099] In some examples, the present disclosure describes an apparatus for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON). The apparatus may include a memory configured to store instructions and also store network information data associated with the WDM PON and a processor coupled to the memory, wherein the processor is adapted to execute the instructions.
[0100] When the instructions are executed, the processor may determine whether an allocation is for a preemptive schedule or a non-preemptive schedule. For the preemptive schedule, the processor may assign wavelengths to requests, sort the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength. For the non-preemptive schedule, the processor may sort the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength, and assign each request to the wavelengths to which the request temporally fits. In both cases, the processor may postpone the requests by a laser tuning time associated with each ONU and optimize the schedules by filling in idle times.
[0101] According to further examples, the processor may fill in the idle times in the preemptive schedule based on allocation of a time duration between au w and I first and allocation of a time duration between
Figure imgf000027_0001
and au w second, where
Figure imgf000027_0002
is a latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to a wavelength other than the current one, and I is a predefined limit for the latest job completion time. In the non-preemptive schedule, the processor may fill in the idle times based on allocation of a time duration between al w and au w to requests when a laser is tuned to a current wavelength and allocation of remaining requests for a time duration between au w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength.
[0102] The ONUs of the WDM PON may include wavelength-tunable sources and/or multi-wavelength sources. The ONUs may also include a full-range laser source and/or a limited-range laser source. The laser source may include one or more of a multi-frequency laser, a distributed feedback (DFB) laser diode (LD) array, a gain-coupled DFB array, a chirped-pulse WDM, a distributed Bragg reflector (DBR) array, a sampled grating DBR, or an external cavity laser etalon.
[0103] In yet further examples, the present disclosure describes a computer-readable storage medium having instructions stored thereon for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON). The instructions may include determining whether an allocation is for a preemptive schedule or a non-preemptive schedule, assigning wavelengths to requests and sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength in case of preemptive scheduling, and sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength and assigning each request to the wavelengths to which the request temporally fits in case of non- preemptive scheduling.
[0104] The instructions may also include in both cases of scheduling postponing all requests and a last request on each wavelength by the laser tuning time associated with an ONU currently being allocated and reducing an overall latest job completion time for the preemptive schedule by allocating a time duration between au w and I first and allocating a time duration between al w and au w second, where al w is a latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to a wavelength other than the current one, and I is a predefined limit for the latest job completion time. For non-preemptive scheduling, the instructions may include reducing an overall latest job completion time by allocating a time duration between al w and au w to requests when a laser is tuned to a current wavelength and allocating remaining requests for a time duration between au w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength.
[0105] In case of preemptive schedule, the instructions may include prioritizing requests by size when allocating the requests to the wavelengths between au w and I. In case of non-preemptive schedule, the instructions may include prioritizing requests based on a descending order of a size of each request for all wavelengths. According to some examples, a request may be scheduled on a wavelength if a remaining available time duration after au w is sufficient to accommodate the request. While embodiments are generally discussed in context of WDM PONs, they are not limited to WDM PON applications. Some embodiments may also be implemented for any multiprocessor scheduling computation, where jobs take non-negligible time to switch machines. Such embodiments may be implemented in various fields like industrial engineering and telecommunications.
[0106] There is little distinction left between hardware and software implementations of aspects of systems; the use of hardware or software is generally (but not always, in that in certain contexts the choice between hardware and software may become significant) a design choice representing cost vs. efficiency tradeoffs. There are various vehicles by which processes and/or systems and/or other technologies described herein may be effected (e.g., hardware, software, and/or firmware), and that the preferred vehicle will vary with the context in which the processes and/or systems and/or other technologies are deployed. For example, if an implementer determines that speed and accuracy are paramount, the implementer may opt for a mainly hardware and/or firmware vehicle; if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware. [0107] The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples may be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the
embodiments disclosed herein, in whole or in part, may be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g. as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure.
[0108] The present disclosure is not to be limited in terms of the particular
embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is to be understood that this disclosure is not limited to particular methods, systems, or components, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.
[0109] In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
[0110] Those skilled in the art will recognize that it is common within the art to describe devices and/or processes in the fashion set forth herein, and thereafter use engineering practices to integrate such described devices and/or processes into data processing systems. That is, at least a portion of the devices and/or processes described herein may be integrated into a data processing system via a reasonable amount of experimentation. Those having skill in the art will recognize that a typical data processing system generally includes one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops.
[0111] A typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data
computing/communication and/or network computing/communication systems. The herein described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures may be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality may be seen as "associated with" each other such that the desired functionality is achieved, irrespective of architectures or intermediate components. Likewise, any two components so associated may also be viewed as being "operably connected", or "operably coupled", to each other to achieve the desired functionality, and any two components capable of being so associated may also be viewed as being "operably couplable", to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically connectable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
[0112] With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
[0113] It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as "open" terms (e.g., the term "including" should be interpreted as "including but not limited to," the term "having" should be interpreted as "having at least," the term
"includes" should be interpreted as "includes but is not limited to," etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" (e.g., "a" and/or "an" should be interpreted to mean "at least one" or "one or more"); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of "two recitations," without other modifiers, means at least two recitations, or two or more recitations).
[0114] Furthermore, in those instances where a convention analogous to "at least one of A, B, and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., " a system having at least one of A, B, and C" would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to "at least one of A, B, or C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., " a system having at least one of A, B, or C" would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase "A or B" will be understood to include the possibilities of "A" or "B" or "A and B."
[0115] In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
[0116] As will be understood by one skilled in the art, for any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be easily recognized as sufficiently describing and enabling the same range being broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each range discussed herein can be readily broken down into a lower third, middle third and upper third, etc. As will also be understood by one skilled in the art all language such as "up to," "at least," "greater than," "less than," and the like include the number recited and refer to ranges which can be subsequently broken down into subranges as discussed above. Finally, as will be understood by one skilled in the art, a range includes each individual member. Thus, for example, a group having 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.
[0117] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims

CLAIMS WHAT IS CLAIMED IS:
1. A method for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON), the method comprising:
determining whether an allocation is for a preemptive schedule or a non- preemptive schedule;
for the preemptive schedule, assigning wavelengths to requests; sorting the requests and the wavelengths;
postponing the requests by a laser tuning time associated with each ONU; and optimizing the preemptive schedule by filling in idle times.
2. The method according to claim 1, further comprising moving an unscheduled part of the request to a next wavelength when a remaining time on a wavelength assigned with requests is insufficient to satisfy a request.
3. The method according to claim 2, further comprising one or more of:
sorting the requests in descending order of a size of each request; and sorting the wavelengths in ascending order of an available time for each wavelength.
4. The method according to claim 1, wherein postponing the requests comprises postponing scheduling of all requests and a last request on each wavelength by the laser tuning time associated with an ONU currently being allocated.
5. The method according to claim 1, wherein filling in the idle times comprises allocating a time duration between au w and I, where au w is a latest job completion time when a laser is to be tuned to a wavelength other than a current one and I is a predefined limit for the latest job completion time.
6. The method according to claim 5, wherein filling in the idle times further comprises allocating a time duration between al w and au w, where al w is a latest job completion time when the laser is tuned to the current wavelength.
7. The method according to claim 5, further comprising prioritizing requests by size when allocating the requests to the wavelengths between au w and I.
8. The method according to claim 5, wherein filling in the idle times further comprises scheduling a request on a wavelength when a remaining available time duration after au w is sufficient to accommodate the request.
9. The method according to claim 1, further comprising one or more of:
for the non-preemptive schedule, sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength;
performing a search in order of wavelengths starting from a first wavelength; and
assigning each request to the wavelengths to which the request temporally fits.
10. The method according to claim 9, further comprising determining the allocation to be feasible when all requests are scheduled before a predefined limit for latest job completion time.
11. The method according to claim 10, further comprising reducing the latest job completion time by allocating time duration between al w and au w to requests when a laser is tuned to a current wavelength, where al w is a latest job completion time when the laser is tuned to the current wavelength and au w is a latest job completion time when the laser is to be tuned to a wavelength other than the current wavelength.
12. The method according to claim 11, further comprising prioritizing requests based on a descending order of a size of each request.
13. The method according to claim 11, further comprising allocating remaining requests for a time duration between au w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength, where I is a predefined limit for the latest job completion time.
14. An apparatus for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON), comprising:
a memory configured to store instructions and also store network information data associated with the WDM PON;
a processor coupled to the memory, wherein the processor is adapted to execute the instructions, which when executed configure the processor to:
determine whether an allocation is for a preemptive schedule or a non- preemptive schedule;
for the preemptive schedule:
assign wavelengths to requests;
sort the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength;
for the non-preemptive schedule:
sort the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength;
assign each request to the wavelengths to which the request temporally fits;
postpone the requests by a laser tuning time associated with each ONU; and
optimize the schedules by filling in idle times.
15. The apparatus according to claim 14, wherein the processor is further configured to fill in the idle times in the preemptive schedule based on allocation of a time duration between au w and I first and allocation of a time duration between al w and au w second, where al w is a latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to a wavelength other than the current one, and I is a predefined limit for the latest job completion time.
16. The apparatus according to claim 14, wherein the processor is further configured to fill in the idle times in the non-preemptive schedule based on allocation of a time duration between al w and au w to requests when a laser is tuned to a current wavelength and allocation of remaining requests for a time duration between au w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength, where al w is a latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to a
wavelength other than the current one, and I is a predefined limit for the latest job completion time.
17. The apparatus according to claim 14, wherein the ONUs of the WDM PON include at least one of wavelength-tunable sources and/or multi-wavelength sources.
18. The apparatus according to claim 14, wherein the ONUs include at least one of a full-range laser source and a limited-range laser source.
19. The apparatus according to claim 18, wherein the laser source includes one or more of a multi-frequency laser, a distributed feedback (DFB) laser diode (LD) array, a gain- coupled DFB array, a chirped-pulse WDM, a distributed Bragg reflector (DBR) array, a sampled grating DBR, or an external cavity laser etalon.
20. A computer-readable storage medium having instructions stored thereon for allocating network traffic requests on multiple wavelength optical network units (ONUs) of a wavelength division multiplexing (WDM) passive optical network (PON), the instructions comprising:
determining whether an allocation is for a preemptive schedule or a non- preemptive schedule;
for the preemptive schedule:
assigning wavelengths to requests; sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength;
for the non-preemptive schedule:
sorting the requests in descending order of a size of each request and the wavelengths in ascending order of an available time for each wavelength;
assigning each request to the wavelengths to which the request temporally fits;
postponing all requests and a last request on each wavelength by the laser tuning time associated with an ONU currently being allocated; and
reducing an overall latest job completion time.
21. The computer-readable storage medium of claim 20, wherein the instructions further comprise:
reducing an overall latest job completion time for the preemptive schedule by: allocating a time duration between au w and I first and allocating a time duration between al w and au w second, where al w is a latest job completion time when a laser is tuned to a current wavelength, au w is the latest job completion time when the laser is to be tuned to a wavelength other than the current one, and I is a predefined limit for the latest job completion time; and
reducing an overall latest job completion time for the non-preemptive schedule by:
allocating a time duration between al w and au w to requests when a laser is tuned to a current wavelength and allocating remaining requests for a time duration between au w and I based on descending order of a size of each request and an ascending order of an available time for each wavelength.
22. The computer-readable storage medium of claim 21 , wherein the instructions further comprise:
for the preemptive schedule:
prioritizing requests by size when allocating the requests to the
wavelengths between au w and I; and
for the non-preemptive schedule: prioritizing requests based on a descending order of a size of each request for all wavelengths.
23. The computer-readable storage medium of claim 20, wherein the instructions further comprise:
scheduling a request on a wavelength if a remaining available time duration after au w is sufficient to accommodate the request.
PCT/US2010/045436 2009-08-13 2010-08-13 Scheduling wdm pon with tunable lasers with different tuning times WO2011019992A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201080035631.7A CN102474356B (en) 2009-08-13 2010-08-13 Scheduling WDM pon with tunable lasers with different tuning times
US12/996,772 US8521025B2 (en) 2009-08-13 2010-08-13 Scheduling WDM PON with tunable lasers with different tuning times
KR1020127006582A KR101358795B1 (en) 2009-08-13 2010-08-13 Scheduling wdm pon with tunable lasers with different tuning times

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23353909P 2009-08-13 2009-08-13
US61/233,539 2009-08-13

Publications (1)

Publication Number Publication Date
WO2011019992A1 true WO2011019992A1 (en) 2011-02-17

Family

ID=43586514

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/045436 WO2011019992A1 (en) 2009-08-13 2010-08-13 Scheduling wdm pon with tunable lasers with different tuning times

Country Status (4)

Country Link
US (1) US8521025B2 (en)
KR (1) KR101358795B1 (en)
CN (1) CN102474356B (en)
WO (1) WO2011019992A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013124516A1 (en) * 2012-02-22 2013-08-29 Universitat Politècnica De Catalunya Method for reducing optical interference in passive optical networks
CN103517161A (en) * 2012-06-19 2014-01-15 上海贝尔股份有限公司 Method for communicating between local-side equipment and optical network unit in passive optical network
WO2021219061A1 (en) * 2020-04-30 2021-11-04 中兴通讯股份有限公司 Service transmission method and apparatus, sending end and storage medium

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5463165B2 (en) * 2010-02-26 2014-04-09 株式会社日立製作所 Recovery method from ONU sleep state in PON system that can save power
TWI445333B (en) * 2012-02-29 2014-07-11 Univ Nat Taiwan Science Tech Time/wavelength-division multiplexed pon (twpon)
JP5867233B2 (en) * 2012-03-29 2016-02-24 沖電気工業株式会社 Station side equipment
US9112600B2 (en) * 2012-04-20 2015-08-18 Electronics And Telecommunications Research Institute Wavelength tuning time measurement apparatus and method for multi-wavelength passive optical network
US8953942B1 (en) * 2012-04-27 2015-02-10 Google Inc. Hybrid WDM-TDM passive optical network
US8687976B1 (en) * 2012-12-16 2014-04-01 Juniper Networks, Inc. Optical access network having emitter-free customer premise equipment and adaptive communication scheduling
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
JP5932725B2 (en) * 2013-07-10 2016-06-08 日本電信電話株式会社 Dynamic wavelength band allocation method
US9331810B2 (en) * 2013-08-09 2016-05-03 Verizon Patent And Licensing Inc. Method and system for providing dedicated service on a passive optical network
US20150365192A1 (en) * 2014-06-16 2015-12-17 Electronics And Telecommunications Research Institute Method of tuning wavelength of tunable optical network unit (onu) in time and wavelength division multiplexing-passive optical network (twdm-pon)
CN104636205B (en) * 2014-12-26 2019-02-05 北京奇艺世纪科技有限公司 A kind of method and apparatus that task is seized
US10177871B2 (en) * 2015-07-10 2019-01-08 Futurewei Technologies, Inc. High data rate extension with bonding
JP6538579B2 (en) * 2016-02-04 2019-07-03 株式会社日立製作所 Optical access network system, station side apparatus and control program therefor
CN107547165B (en) * 2016-06-24 2019-07-05 中兴通讯股份有限公司 Optical line terminal, method for transmitting signals and device
US10171199B2 (en) * 2016-12-20 2019-01-01 Google Llc Tunable laser in an optical access network
US10498478B2 (en) * 2017-04-10 2019-12-03 Infinera Corporation Reduced power dissipation optical interface using remote lasers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232790A1 (en) * 2009-03-13 2010-09-16 New Jersey Institute Of Technology Maximizing capacity of wavelength division multiplexing passive optical networks

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002305113A1 (en) * 2001-03-29 2002-10-15 Atoga Systems, Inc. Open ring architectures for optical wdm networks
US7106967B2 (en) 2001-09-04 2006-09-12 Doron Handelman Optical packet switching apparatus and methods
FR2830094B1 (en) * 2001-09-27 2004-12-10 Cit Alcatel METHOD AND DEVICE FOR SIMULATING THE BEHAVIOR OF A NETWORK, ALLOWING SIZING ON DEMAND
AU2002340172A1 (en) * 2001-10-10 2003-04-22 Mcnc Research & Development Institute Optical-inclusive dwdm local area network
JP4471598B2 (en) 2003-07-16 2010-06-02 Okiセミコンダクタ株式会社 Light emitting element driving device
KR100608946B1 (en) 2004-10-20 2006-08-03 광주과학기술원 Wdm-pon by using self-injection locked fabry-perot laser diode, remote node, and control method therefor
CN100440756C (en) 2004-12-13 2008-12-03 华为技术有限公司 Passive optical network and its data communication method
JP4704842B2 (en) * 2005-08-01 2011-06-22 株式会社日立製作所 WDM type PON system
US7684705B2 (en) 2005-10-20 2010-03-23 Fujitsu Limited Distribution node for a wavelength-sharing network
US7684706B2 (en) 2005-10-20 2010-03-23 Fujitsu Limited System and method for traffic distribution in an optical network
US7738167B2 (en) 2005-12-09 2010-06-15 Electronics And Telecommunications Research Institute Reflective semiconductor optical amplifier (RSOA), RSOA module having the same, and passive optical network using the same
US7761012B2 (en) 2006-01-12 2010-07-20 Nec Laboratories America, Inc. Optical communication system and method for generating dark return-to zero and DWDM optical MM-Wave generation for ROF downstream link using optical phase modulator and optical interleaver
US7715719B2 (en) 2006-06-02 2010-05-11 Fujitsu Limited System and method for transmitting traffic in a plurality of passive optical networks
US7706688B2 (en) 2006-07-17 2010-04-27 University Of Ottawa Wavelength reconfigurable optical network
KR100813897B1 (en) 2006-11-07 2008-03-18 한국과학기술원 Method and network architecture for upgrading legacy passive optical network to wavelength division multiplexing passive optical network based next-generation passive optical network
KR100903121B1 (en) * 2006-12-05 2009-06-16 한국전자통신연구원 Optical link module of ONT/ONU with wavelength tuning function in WDM-PON, optical link system therefor, and method for wavelength tuning
JP4410789B2 (en) 2006-12-08 2010-02-03 株式会社日立コミュニケーションテクノロジー Passive optical network system, optical termination device and optical network unit
US7769256B2 (en) 2007-04-13 2010-08-03 Futurewei Technologies, Inc. Method and system for performance monitor for digital optical DWDM networks
CN101075854A (en) * 2007-06-28 2007-11-21 中兴通讯股份有限公司 Method and apparatus for realizing hybrid passive optical network based on WDM and TDM
US8290366B2 (en) * 2007-09-21 2012-10-16 Futurewei Technologies, Inc. Extending path computation element protocol to accommodate routing and wavelength assignment in wavelength switched optical networks
US8005363B2 (en) * 2007-12-14 2011-08-23 Hitachi Communication Technologies, Inc. Passive optical network with wavelength division multiplexing
KR100958338B1 (en) 2007-12-18 2010-05-17 한국전자통신연구원 Optical amplifier integrated super luminescent diode and external cavity laser using this
US7769062B2 (en) 2008-03-20 2010-08-03 National Research Council Of Canada Quantum dot based semiconductor waveguide devices
CN101519584A (en) 2009-03-20 2009-09-02 东莞市安拓普塑胶聚合物科技有限公司 Massive self-heating composition and method for controlling rate of heat release

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232790A1 (en) * 2009-03-13 2010-09-16 New Jersey Institute Of Technology Maximizing capacity of wavelength division multiplexing passive optical networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHUNPENG XIAO ET AL.: "An Efficient Reservation MAC Protocol with Preallocation for High-Speed WDM Passive Optical Networks", PROCEEDINGS OF IEEE INFOCOM 2005, vol. 1, 13 March 2005 (2005-03-13), MIAMI, FL, USA, pages 444 - 454, XP010829147, DOI: doi:10.1109/INFCOM.2005.1497913 *
KYEONG SOO KIM ET AL.: "Design and Performance Analysis of Scheduling Algorithms for WDM-PON Under SUCCESS-HPON Architecture", JOURNAL OF LIGHTWAVE TECHNOLOGY, vol. 23, no. 11, November 2005 (2005-11-01), pages 3716 - 3731 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013124516A1 (en) * 2012-02-22 2013-08-29 Universitat Politècnica De Catalunya Method for reducing optical interference in passive optical networks
CN103517161A (en) * 2012-06-19 2014-01-15 上海贝尔股份有限公司 Method for communicating between local-side equipment and optical network unit in passive optical network
CN103517161B (en) * 2012-06-19 2016-07-27 上海贝尔股份有限公司 The method communicated between local side apparatus and optical network unit in EPON
WO2021219061A1 (en) * 2020-04-30 2021-11-04 中兴通讯股份有限公司 Service transmission method and apparatus, sending end and storage medium

Also Published As

Publication number Publication date
US20110211834A1 (en) 2011-09-01
KR101358795B1 (en) 2014-02-06
CN102474356A (en) 2012-05-23
KR20120043107A (en) 2012-05-03
US8521025B2 (en) 2013-08-27
CN102474356B (en) 2014-12-03

Similar Documents

Publication Publication Date Title
US8521025B2 (en) Scheduling WDM PON with tunable lasers with different tuning times
JP7309610B2 (en) Systems and methods for virtualizing dynamic bandwidth allocation (DBA) in multi-tenant passive optical networks
Dallaglio et al. Routing, spectrum, and transponder assignment in elastic optical networks
Hadi et al. Dynamic resource allocation in metro elastic optical networks using Lyapunov drift optimization
CN104735555B (en) A kind of bandwidth allocation methods of passive optical network
Liu et al. Fragmentation-avoiding spectrum assignment strategy based on spectrum partition for elastic optical networks
US9941992B2 (en) Method and apparatus for efficient network utilization using superchannels
Chen et al. Spectrum–block consumption for shared-path protection with joint failure probability in flexible bandwidth optical networks
US8351786B2 (en) Maximizing capacity of wavelength division multiplexing passive optical networks
Taeb et al. Virtual network embedding with path-based latency guarantees in elastic optical networks
Yu et al. Deterministic latency bounded network slice deployment in IP-over-WDM based metro-aggregation networks
Nejabati et al. Role of optical network infrastructure virtualization in data center connectivity and cloud computing
Zhu et al. Multi-dimensional resource virtualization in spectral and spatial domains for inter-datacenter optical networks
Meng et al. A joint transmission grant scheduling and wavelength assignment in multichannel SG-EPON
Hadi et al. General QoS-aware scheduling procedure for passive optical networks
Ye et al. A predictive and incremental grooming scheme for time-varying traffic in WDM networks
Dixit et al. Cost function‐based class of service provisioning strategy in elastic optical networks
Popescu et al. Scalable routing, scheduling and virtualization for TWIN optical burst switching networks
Charbonneau et al. Dynamic circuits with lightpath switching over wavelength routed networks
Zhu et al. Integrated vone scheme over resource-virtualized elastic optical networks
Mahala et al. Spectrum assignment using prediction in elastic optical networks
Feng et al. Large data transfers in WDM networks with node storage
Alam et al. Routing and Spectrum Allocation Heuristic for Sliced Elastic Optical Network System
Xue Nanoseconds-controlled and SDN-enabled optical switching system for fast and flexible data center networks
Lin et al. Virtual network embedding in flexi-grid optical networks

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080035631.7

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 12996772

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10808805

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20127006582

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 10808805

Country of ref document: EP

Kind code of ref document: A1