The Ethernet Passive Optical Network (EPON), being one of the most widely appreciated and deployed access network, energy-efficient EPON design has already become a well-established research area . An EPON network architecture contains an Optical Line Terminal (OLT), multiple Optical Network Units (ONUs) and Remote nodes . Traffic from the OLT to ONUs and from ONUs to the OLT are termed as Down-stream (DS) and Up-stream (US) traffic respectively. ONUs are responsible for consuming of the overall EPON power consumption , which promotes the research on energy-efficient ONU design. For saving energy at ONU, several low power modes (e.g. deep sleep (ds), fast sleep (fs), cyclic sleep (cs), doze mode (dz)) with different power consumption figures and sleep-to-wake-up time have been proposed 
. While saving energy by employing any of these Low Power Modes (LPMs), an ONU must ensure the Service Label Agreements (SLAs) (for example, delay bounds or packet drop probability). Thus, an efficient protocol design is required in order to choose the most suitable LPM and the duration over which the LPM (sleep duration) is employed while preserving SLA of both US and DS traffic. All these protocols are broadly classified as OLT-assisted and ONU-assisted.
In an OLT-assisted protocol, the OLT takes decision about LPMs and sleep duration which are then informed to ONUs through extra information within the GATE message while ONUs are oblivious about the decision making process. Several OLT-assisted protocols have been proposed in the literature [5, 6, 7, 8, 9, 10, 11]. In Multi Point Control Protocol (MPCP), which is the standardized MAC protocol for EPON network , ONUs inform their buffer size to the OLT through REPORT message. Once an ONU enters into sleep mode, it can neither receive the GATE message not send REPORT message. Thus, the OLT-assisted protocols cannot react to the instantaneous change of both US and DS traffic which is extremely important for serving bursty traffic arrivals. This may lead to violation of SLAs which is a major drawback of all OLT-assisted protocols. In an ONU-assisted protocol, ONUs individually decide their sleep modes and sleep durations by following their own protocols and the OLT is completely unaware about this process. Several ONU-assisted protocols are also present in the literature [12, 13, 14, 15, 16]. If an ONU enters into a sleep mode, it can observe its own US traffic arrivals but not DS traffic. Thus, ONU-assisted protocols are capable of reacting to the instantaneous change of only the US traffic. This may lead to violation of SLAs for DS traffic which is a major drawback of ONU-assisted protocols.
In all existing sleep mode protocols, the sleep duration of ONUs are decided independently and hence, multiple ONUs may wake up in one polling cycle leading to bandwidth crunch. However, if these ONUs wake-up in different cycles and the entire bandwidth is distributed among the active ONUs (ONUs whose transceivers are switched on), then ONUs can up-stream a certain number of packets in shorter duration. This will reduce the time period over which an ONU is in active mode (active duration) and it provides an opportunity of improving the energy-efficiency significantly. Thus, instead of deciding sleep durations of ONUs independently, if their sleep durations are decided such that when they wake-up from sleep mode, minimum number of ONUs remain active, then energy-efficiency can be improved. This requires fair distribution of active ONUs among polling cycles. Thus, the major drawbacks of all existing proposals can be summarized as:
None of the existing protocols can react to the instantaneous load variation of both US and DS traffic at the same time.
Sleep durations of different ONUs are decided independently and hence, the possibility of improving energy-efficiency by fairly distributing them among cycles remains unexploited.
In this paper, we try to resolve these two issues. During sleep period, ONUs can observe the US traffic while the OLT can observe the DS traffic. Hence, while deciding sleep durations, a co-operation of the OLT and ONUs presents an opportunity to maintain SLAs of both US and DS traffic at the same time. It is understood that ONUs can wake-up from sleep mode for plausible SLA violations in the US. However, in traditional EPON architecture, the OLT is incapable of forcing ONUs to wake-up from sleep mode when the OLT observes a plausible SLA violation in the DS. If the OLT is provisioned with the facility of forcing ONUs to wake-up from sleep mode, then the SLA of both US and DS traffic could be maintained at the same time. Further, this facility also allows the OLT to allocate a cycle to ONUs, when they will up-stream after waking-up from sleep, such that allocation is fair and the SLA of US and DS is maintained.
The discussions made above lead us to following major objectives: Firstly, the OLT needs to be provisioned with a facility of waking-up ONUs from sleep mode. Secondly, once OLT is provisioned with the wake-up facility, it has to decide which of the ONUs to be awakened in a cycle such that the active ONUs are fairly distributed among cycles while satisfying SLAs for both US and DS traffic. Lastly, the OLT has to decide the time instants when the ONUs (chosen by the previous decision process) are to be awakened from their sleep modes. To the best of our knowledge, this paper is the first proposal which aims at meeting the mentioned objectives, allowing ONUs to sleep while ensuring the SLA of both US and DS traffic at the same time. The contributions of this paper in their order of appearance are:
We present a mechanism which allows the OLT to force ONUs to wake-up from their sleep modes.
To decide on which of the ONUs are to be awakened in a cycle, we formulate an Integer Linear Program (ILP) with the mentioned objectives. To solve the ILP, a polynomial time 1-approximation algorithm named Fair Distribution of ONUs among Slots (FDOS) is proposed. The convergence and complexity of this algorithm is also analyzed.
It presents a scheduling protocol for deciding the time instants when the OLT forces the ONUs to wake-up from sleep modes. We have named this as wake-up scheduling.
Through extensive simulations, we demonstrate a significant improvement in energy-efficiency, as compared to all existing protocols. Further, the simulations exhibit increase in improvement of energy-efficiency on enhancement of both the number of ONUs and the round-trip time which indicate that the proposed FDOS algorithm and wake-up scheduling protocol is suitable for both ultra-dense and rural network.
The rest of the paper is organized as follows. In Section II, we briefly describe the required background of this paper. A mechanism for providing provision to the OLT of waking-up ONUs from sleep mode is proposed in Section III. In Section IV, we formulate the ILP and describe the wake-up scheduling protocol. The proposed FDOS algorithm is proposed in Section V. The energy-efficiency and average delay figures of the proposed mechanism are presented in Section VI. In Section VII, concluding statements are provided.
In this section, we first provide the literature review and then briefly describe our previously proposed ONU-assisted protocol, named as OSMP-EO.
Ii-a Literature Survey
The authors of  have proposed Sleep Mode Aware (SMA) protocol where before sending every GATE message, the OLT predicts the minimum value of time instant, before which the next GATE message of that ONU will not be sent. This time interval is then informed to the ONU during which it employs LPMs. Effect of employing different LPMs is demonstrated in . The same authors have shown the effect of employing different schemes for calculating the transmission slots for both US and DS traffic in . In SMA protocol, the sleep duration is decided in every cycle and hence, it doesn’t affect the delay characteristic. However, the sleep duration being insignificant, the energy saving figure is quite low. In , the authors have shown that a significant improvement in energy-efficient can be achieved by increasing the packet delay. The Green Bandwidth Allocation (GBA) Algorithm, proposed in , is mathematically analyzed by modeling buffers of every ONU as M/G/1 queue with vacation . In , the authors have proposed a new sleep mode, watchful sleep mode, which employs the advantages of both cyclic sleep and doze mode. The major drawback of [8, 9, 10, 11] is that, since the ONUs sleep for multiple polling cycles and ONUs don’t participate in the decision making process, they cannot react to the instantaneous load change of both US and DS traffic leading to plausible violation of SLAs in US and DS.
The authors of  have proposed a protocol where an ONU observes the DS traffic for a certain period. If no DS traffic arrives over this period then it sleeps for a fixed duration. The same authors have extended this protocol for both US and DS traffic in . Since, in these two protocols, sleep durations are fixed, they cannot respond to an instantaneous load change of both US and DS traffic. However, an ONU can observe its own US traffic arrivals even during the sleep period and hence, it is capable of reacting to the instantaneous change of the US traffic, which has been considered in [14, 15, 16]. The protocols, proposed in  consider doze mode for saving energy. In , we have demonstrated that a significant improvement in energy saving can be achieved by selecting a suitable LPM instead of using a single one. This protocol has been extended for delay-sensitive traffic in . In , we have proposed an ONU-assisted mechanism for applying doze mode during the time periods of the active cycles when the other ONUs up-stream and proposed a new ONU-assisted protocol named as OSMP-EO. In this paper, we consider OSMP-EO as the ONU assisted protocol followed by the ONUs to save energy. The reasoning and corresponding details behind considering OSMP-EO are discussed in Section IV-A. We now briefly explain the OSMP-EO protocol.
Here, we briefly describe our previously proposed OSMP-EO protocol. The protocol has been designed for delay-insensitive traffic where the buffer sizes of ONUs are limited and it attempts to reduce the energy consumption of ONUs while avoiding the packet drop. In OSMP-EO, ONUs alter between deep sleep (), fast sleep () and active mode (). Let, at the current time , is in sleep mode . In this case, the next decision is taken after a fixed time (i.e at ), when decides whether to retain the sleep mode or it wakes-up. We now explain the rules that are followed by for taking this decision. At , if sleep mode is retained then the wake-up process can be initiated after duration and the wake-up process requires duration (- Sleep-to-wake-up time for sleep mode ). The OSMP-EO being an ONU-assisted protocol, doesn’t have any information about the GATE message arrival time. Thus, there is a possibility that becomes active immediately after the arrival of GATE message and hence, has to wait until the arrival of the next GATE message for reporting the buffer state. The bandwidth will be granted in the next cycle. Therefore, if is retained at , then the packet drop can be avoided if the buffer doesn’t fill up in next duration (-maximum cycle time). So, at , first predict the buffer fill-up time () and decide its mode () by following rule1.
rule1 If , is retained and otherwise, the wake-up process is initiated.
follows rule1 in every durations until it decides to wake-up from . Let, at , decides to wake-up from which takes duration and therefore, becomes active (i.e ) at . The next decision about will be taken only after up-streaming all packets that are in the buffer at . In , we have shown that a sleep mode provides enhancement in energy-efficiency as compared to other sleep modes with higher power consumption figure, if the buffer fill-up time (which indicates sleep duration) is more than a threshold. Let us denote this threshold for and as and respectively and the value of them is calculated in . Thus, follows rule2 for deciding .
rule2 If then while if then and otherwise,
In a polling based protocol like MPCP, the transmitter of an ONU remain idle when other ONUs up-stream. Thus, during the cycles when is active, the transmitter of can be switched-off during other ONUs’ US transmission. For doing this in a complete ONU-assisted manner, we have proposed a mechanism in . Next, we discuss the architectural modifications at the OLT which would enable it to wake-up ONUs.
Iii Architectural Modifications
From the previous discussion (refer Section I), it is now clear that if the SLA of both US and DS data is needed to be satisfied then the OLT should have the provision to force ONUs to wake-up from sleep mode. The OLT has to send some extra information to ONUs in order to wake them from their sleep modes. It is well understood that this information can be realized by a single bit which indicates whether an ONU should wake up or not. This extra information can be sent either through the GATE message or a new message, termed as ”wake-up message”. However, during sleep periods, ONUs are unable to receive this wake-up information as the receiver is switched-off. A simple way of resolving this issue is that ONUs periodically switch-on their receivers and then handshake with the OLT for receiving the wake-up information . Then, it is important to decide this period of waking-up the receiver. If this time period is large, then the possibility of violation of SLA of the DS data will be huge which is not desirable. Whereas, a shorter value of it reduces energy-efficiency as the receivers are kept active over a significantly large time period just to receive this one-bit wake-up information. However, since the wake-up information is just one bit, it can be sent with a very low data rate (much lower as compared to the usual data transmission). Thus, detection of the wake-up information doesn’t require the entire ONU receiver and a simple ON-OFF Keying (OOK) detection circuit is sufficient to do it. Thus, if an OOK detection circuit (very low power consumption figure) is included at ONUs and they are kept active during the sleep periods of ONUs then any time the OLT can force ONUs to wake-up from sleep mode. In traditional TDM-PON architecture , the wake-up information of a particular ONU reaches to all ONUs. Thus, it is important to design a mechanism by which an ONU can identify its own wake-up message. In order to do this, we have used the concept of Sub-Carrier Multiplexing (SCM) [19, 20].
In our proposed mechanism, the OLT allocates different RF frequencies (sub-carriers) to all ONUs by which the wake-up message is transmitted, whereas the actual carrier is used for transmitting the DS data. We now explain our propose ONU architecture with the help of Fig. 1. The Photo Detector (PD) receives all sub-carriers (, , , ) along with the down-stream wavelength. The received signal is then divided into two parts. One part is passed through a Low Pass Filter (LPF) which filters out the DS data which is then processed through the line-card (normal PON reception). The other portion is passed through a Band-Pass Filter (BPF) which receives the sub-carrier, allocated for it. The sub-carrier is then frequency down-converted and then detected by OOK detector or in other word, the sub-carrier is detected by a ASK detector. If it receives a wake-up message then the wake-up process of the actual receiver will be initiated. Thus, our proposed architectural modifications allow the OLT to force the ONUs to wake-up from sleep mode at any time instant. It can be noted that the required bandwidth at sub-carrier is very low and hence, many sub-carriers can be created.
Iv Optimization problem formulation and wake-up scheduling
Here, we first provide the algorithm framework of our proposed mechanism. Thereafter, we formulate an optimization problem to decide on which of the ONUs are to be awakened in a cycle which is then used for wake-up scheduling.
Iv-a Algorithmic framework
In this paper, we consider that the optimization problem for deciding which ONUs are to be awakened in a cycle is formulated at the beginning of every polling cycle. It can be noted that, for DBA , the duration of polling cycles (cycle times) are adaptive and at a certain time instant, the OLT doesn’t have the information about future cycle times. Thus, we divide future times into multiple slots of size, same as the maximum cycle time (). Let and denote the set of ONUs that are in sleep mode and the set of all slots respectively (in next subsection we show that cardinality of i.e. is finite). So, the optimization problem allocates a slot () to every ONU () and the objective is to maximize the energy-efficiency.
In a sleep mode protocol, an ONU alters between sleep mode and active mode. If the active periods can be reduced then it automatically increases sleep durations which provide an improvement in energy-efficiency. Thus, in this paper, our main objective is to minimize the total active periods of ONUs. One possible way to achieve this is by fairly distributed active ONUs among cycles (refer section I) which causes reduction of the number of active ONUs in a cycle. Since the OLT itself decides which ONUs will be active in a cycle, it can distribute the entire cycle only among the active ONUs. Therefore, in a cycle, an active ONU can up-stream more amount of US data resulting in a reduction of active periods. Further, we know that every time an ONU wakes-up from sleep mode, a certain time instant is wasted when ONUs consume full power but no US transmission is possible. Thus, another possible way to reduce the total active period of an ONU is by reducing the possibility of state transition from sleep mode to active mode which can be achieved by keeping the ONU in the sleep mode as long as possible, after entering into it. While maximizing energy-efficiency, the OLT should maintain SLA (for example, delay bound, packet drop etc.) of both US and DS traffic. In this paper, for simplicity, we consider only the packet drop as the measure of SLA. We also show that a few minor modifications allow including the average delay bound constraint as well. Thus, for maximizing energy-efficiency while avoiding packet-drop of both US and DS traffic, in this paper, we first formulate an optimization problem and then for solving this problem, a polynomial time 1-approximation algorithm, namely FDOS, is proposed.
The OLT can always observe the DS traffic, the OLT predicts the buffer fill-up time of (), and schedules the wake-up message such that initiates DS transmission before the OLT buffer gets filled up. However, the US traffic arrivals of an ONU can be observed only by that ONU during sleep periods of ONUs. So, in this work, we consider that an ONU (say ) predicts its buffer fill-up time for the US traffic () and inform it along with the decided sleep mode () immediately before entering into
to the OLT through the REPORT message. This process requires modification of the MPCP. However, the OLT gets some idea about the US traffic arrivals with the information of the report size which can be utilized to estimateand hence, of . In this process, no modification of MPCP is required. However, in this case, the prediction error will be more. In this paper, we use the first process. In can be noted that during sleep mode, the instantaneous traffic load may change. Hence, to avoid packet drop of US traffic, ONUs are provided the facility to wake-up from sleep mode as well and we assume that the previously proposed OSMP-EO protocol is followed by ONUs. Our proposed mechanism is the following:
ONUs follow the OSMP-EO protocol and immediately before entering a sleep mode , they inform the predicted buffer fill-up time and sleep mode through the REPORT message.
Using these information, at the beginning of every polling cycles, the OLT first runs the FDOS algorithm for deciding which of the ONUs are to be awakened in a cycle and then the wake-up scheduling is performed.
The IPACT protocol  is used for scheduling the GATE message while the Limited scheme (LS) is used as a grant-sizing protocol . In LS, grant-size of () is same as report size () but not more than a threshold () i.e. . However, the value of is calculated at the beginning of every polling cycles immediately after the FDOS algorithm by:
where and denotes the maximum allowable bandwidth of a cycle and the number of active ONUs of that cycle respectively.
|Set of all ONUs that are in sleep mode|
|Set of all slots at which ONUs of can be assigned|
|Set of all ONUs that are assigned of slot|
|Cardinality of set|
|Cardinality of set|
|Cardinality of set|
|Assignment obtained from FDOS algorithm.|
Iv-B Problem formulation
Here we formulate the proposed optimization problem.
Since one objective is to maximize fairness, we have to first define a quantitative measurement of fairness. In this paper, we use Jain’s Fairness Index  as the measure of fairness and it is defined as:
In our case, the ONUs are fairly assigned (makes the ONU active) over number of cycles. Here, denotes cardinality of set . If denotes the number of active ONUs in the slot then in our case, the Jain’s Index is:
It is evident that an increment of implies the allocation is more fair. So, one objective of the optimization problem is to maximize . Since exactly one slot () is assigned to all ONUs, and hence, maximization of is same as minimization of
. Let us define a binary variablewhere
It is easy to note that and . So, fair distribution of ONUs () among slots () require minimization of .
The other objective of the optimization problem is to maximize the sleep duration of ONUs. Thus, the allocated slot should be as late as possible or in other word, maximization of is required. Maximization of sleep durations for all ONUs can be mathematically modeled by taking weighted ( is the weight for ) summation of the objectives of all ONUs and the objective function is given by: or in general, where in this case. The optimization problem is multi-objective where the objective functions are: and . An weighted average of these two objectives can be taken for making the multi-objective optimization to a single objective optimization. If is the weight factor then the objective function of the optimization, , can be defined as:
Since, our primary objective is to maximize the fairness, in this paper, we assume is very high: .
Now, we explain all constraints that are needed to be satisfied while minimizing .
Single slot allocation constraint
Next, we find all feasible slots that can be allocated to .
Wake-up constraint due to past wake-up message transmission
The set also includes ONUs for whom the wake-up messages have already been sent and the set of these ONUs is denoted as . let, at time , the wake-up message has been sent to by the OLT which takes time interval to reach the . Then, it initiate the wake-up process from sleep mode which requires another and thus, can receive GATE message after time instant. Let, the last GATE message for has been sent at . will be able to receive this GATE if and in this case, in the first slot only, will be able to send the REPORT and initiate the US transmission in the next slot. In other cases, the OLT must be able to receive the REPORT message in slot and the OLT allocates grant to in the next slot i.e. . This can be ensured by the constraint equation, given in eq. (6).
We now show that for all other ONUs (i.e ONUs that are in set ), the slot number of all feasible slots are in between an upper and lower bound.
Upper bound calculation
While allocating slots, the OLT should avoid packet drop of both US and DS traffic (refer section I which also provides two constraints namely US packet drop avoidance constraint and DS packet drop avoidance constraint. Further, in MPCP , if an ONU doesn’t send any US data over a certain period then the OLT de-register that ONU. Avoidance of de-registration imposes an upper-bound on sleep duration and hence, the slot number of feasible slots which is termed as De-registration avoidance constraint.
US packet drop avoidance constraint
Let, at time instant , the OLT received the latest REPORT message from when informed the buffer fill-up time and sleep mode as and respectively. So, the latest REPORT was transmitted by at time instant . If the prediction is correct then will wake-up from sleep mode at time instant (refer rule1 of OSPM-EO protocol, explained in section II). So, the OLT can only force to wake-up from before time instant, . If wakes-up such that it can transmit US data even at the start of a slot then in that slot will definitely be able to send the REPORT message. The US transmission will be initiated in the next slot. Thus, in this case, must send the REPORT message on or before slot (as shown in Fig. 2) and up-stream data in slot where is the present time instant.
This constraint can be modeled by eq. (7).
DS packet drop avoidance constraint
Let, at current time , the buffer fill-up time is predicted as . Thus, the DS transmission should be initiated before time instant: . This can be ensured if wakes-up from sleep mode at the beginning of the slot . will also be able to sent the REPORT message in that slot and US transmission can be initiate in the next slot: . Thus, the buffer fill-up time provides the following constraint, given in eq. (8).
De-registration avoidance constraint
If an ONU sleeps for such a time period that no US data or REPORT message is send within the de-registration time then that ONU have to wait till the next contention window  when it can again register and can initiate the US transmission. In this case, ONUs cannot avoid the packet drop as they has to wait for the next contention window which is not desirable. Thus, an ONU should wake-up such that it can send at-least one REPORT message within this de-registration time denoted as . Since the OLT has receive the latest REPORT message from at , the OLT should receive the REPORT message before . This can be ensured if wakes-up such that it can transmit REPORT at the beginning of the slot and in the next slot i.e. , US data transmission will be initiated. Thus, in order to avoid de-registration, the following constraint, given in eq. (9), is need to be satisfied will performing the assignment.
Lower bound calculation
Now, we calculate the lower bound of slot number of all feasible slots.
Minimum initialization time constraint
If the wake-up message is send at the present time, then it reaches the OLT at when the wake-up process will start which takes another duration. The US transmission takes another duration to reach the OLT. Thus, cannot send the REPORT message before slot if the GATE message is sent after waking-up which is not always guaranteed. However, in the next slot, it will definitely be able to report its buffer state. Thus, can always be able to send the REPORT message in any slot whose slot number is not lower than . In the next slot i.e. US data transmission can be initiated. This provide the following constraint as given in eq. (11).
Minimum sleep duration constraint
As discussed in OSMP-EO protocol, if enters into sleep mode , an improvement in energy-efficiency can only be achieved if the buffer fill-up time is more than a threshold, (refer section II-B) Further, in OSMP-EO, ONUs wake-up from sleep mode and hence, should sleep for at least or in other word, it wakes-up from sleep mode after . By using the same argument as provided above, this event can be ensured by the following the constraint as provided in eq. (IV-B).
Final optimization problem
If the delay bound or some other SLA parameters are considered then it modifies the set while the optimization problem of eq. (15) remains the same.
Iv-C Wake-up scheduling
The OLT gets allocation for all ONUs by solving eq. (15). Suppose, slot is allocated to . If the current time is then start time of the slot is . If the sleep mode of is then the wake-up process requires duration. Thus, the wake-up message for should be sent at . It can be noted that if then in the next decision point remains in sleep mode. Thus, the allocation of can also be performed at the beginning of the next slot without deteriorating its performance. In-fact it may provide better allocation. Thus, if then only the wake-up message will be sent.
Now, we design an -approximation algorithm for solving this optimization problem of eq. (15).
V Proposed algorithm
Here, we explain the proposed FDOS algorithm in detail.
V-a Motivation and framework
Here, we propose a heuristic algorithm, named as FDOS (FDOS- Fair Distribution of ONUs among Slots), for solving the proposed ILP (refer eq. (15)) and prove that even in worse case, the deviation of the value of (refer eq. (4)), obtained by solving the algorithm from its optimal value (say ) is upper bounded. Such algorithms are named as approximation algorithm and the mathematical definition of -approximation algorithm  is given in def1.
def1 Let be an optimization problem with integral cost function . Further, let is an algorithm which returns a feasible solution at instant of while the optimal value is . is called an -approximation algorithm of for some if and only if
We now design FDOS algorithm such that for the objective function , denoted as , is upper bounded by some value, which proves FDOS algorithm is an -approximation algorithm. Let us denote the optimal assignment and the assignment that is obtained from FDOS by and respectively. Thus, is given by eq. (16).
Here, the modulus sign is not required since it is a minimization problem. The cost function, , has two components: and . Let us denote value for and as and respectively and they are given by eq. (17) and eq. (18).
It is evident that if and then it is sufficient to claim . In this paper, FDOS algorithm will be developed in such a manner that and which eventually proves that FDOS is a -approximation algorithm. Toward this target, in FDOS algorithm, we make upper bounded by some value say and iteratively change such that when the algorithm terminate, . We know, . Thus, if we upper bound by then . Therefore, we include the constraint while keeping in the objective function and then iteratively change the value of such that at the termination . We finally prove that the value of , obtained from FDOS algorithm cannot be lower than its optima value of the proposed ILP (refer eq. (15)) which proves or in other word, FDOS is a -approximation algorithm. Thus, the modified ILP, denoted by , turns out to be:
This optimization problem, (refer eq. (19)), is an well known imbalance Transportation Problem  which can be easily converted to balanced Transportation Problem (TP) simply by adding some dummy nodes and by setting for all dummy nodes . Many algorithms are present in the literature for solving the balanced TP in polynomial times complexity (for example ) and any of them can be used for solving (refer eq. (19)). Next, we explain how to change the value of iteratively in FDOS algorithm.
V-B FDOS Algorithm
If number of ONUs are assigned in number of slots then there exist at least one slot (say ) in which at least number of ONUs are assigned. In the first iteration and . In FDOS, we initialize by . It can be noted that due to the presence of , the solution of with may not be feasible. If solution of at the initial iteration with is feasible then the assignment, obtained from it, is the final assignment of the FDOS algorithm. If the solution is not feasible then set of all slots i.e is divided into two sets say and and set of all ONUs i.e is divided into another two sets say and such that in optimal assignment no ONUs of can be assigned of any of the slots of and no ONUs of can be assigned of any of the slots of . Generation of theses sets (i.e , , , and ) will be explained later on this section. Thus, the optimization problem of eq. (15) can be segregated into two sub-problems: one is for assigning ONUs of into slots of and the other is for assigning ONUs of into slots of and the functional value of the actual problem is the summation of the functional values of these two sub-problems. Let us denote the assignment of these two sub-problems as: and respectively and thus,
In FDOS, assignment for these two sub-problems are performed separately in the similar way as discussed above. Thus, ONUs of are assigned into slots of by solving with while assignment of ONUs of into slots of are performed by solving with where , , , and denotes cardinality of set , , and respectively. If the solution of with is feasible and the achieved assignment is then the assignment of ONUs () in FDOS is . If the solution is again infeasible then each of and are divided into two sets in the similar way as discussed above and the iteration will continue until we get a feasible solution. Similar steps will be followed for assigning ONUs of to slots of . If the solution is feasible then make the assignment permanent and otherwise, again divide both and into two sets as discussed. This process will continue until a feasible solution is achieved for all ONUs and in later part we prove that the algorithm always converges (refer Section V-E). All iterations of FDOS algorithm are provided in Algorithm 1.
V-C Properties of FDOS algorithm
Here, we prove that FDOS is an 1-approximation algorithm. In FDOS, if number of ONUs are assigned in number of slots then the first step is to solve balanced TP problem, , with . If the solution is feasible then in cl1, we prove is upper bounded.
cl1 If solution of with is feasible then .
cl1 can be easily proved by using cl2 and cl3. ∎
cl2 If solution of with is feasible then .
In l2, we prove;
Further, in l3, we prove,
It is evident that . Thus,
It can be easily proved that for . For , l1 proves that in optimal assignment, every slot is occupied by at-most one ONU. Therefore, in optimal assignment (i.e ), exactly number of slots are occupied by one ONU and rest of the slots remain unoccupied which is the case for as well. Thus, which proves cl2. ∎
cl3 If solution of with is feasible then where is the optimal assignment of eq. (15) and is the assignment obtained by FDOS algorithm.
In , only one extra constraint is added as compared to the actual optimization problem (refer eq. (15)) and the constraint is . l1 proves that in optimal assignment, every slot satisfies this constraint which further proves cl3. ∎
If the solution is not feasible then set of all slots are divided into two mutually exclusive non-empty sub-sets (non-emptiness will be proved in Section V-E) and the process continues until all ONUs get feasible assignment. Thus, the FDOS algorithm divides both and into some number of sub-sets, denoted by and respectively where , such that in optimal assignment, ONUs of can only be assigned to slots of . In FDOS, assignment of in is performed by solving (refer eq. (19)). If the optimal assignment and the assignment achieved by the FDOS algorithm of in is denoted by and respectively then cl1 proves that
By using the inequality of eq. (25), in cl4, we now prove that FDOS is an -approximation algorithm (i.e. ).
cl4 FDOS ia an -approximation algorithm.
The FDOS algorithm divides both and into exactly number of sub-sets say and and the assignment of are performed only in . Clearly,
Further, from eq. (20), we get
Next, we explain the algorithm for generating the sets , , , and and then we prove that in optimal assignment any ONU of can not be assigned to any slot of and any ONU of can not be assigned to any slot of .
V-D Generation of sets , , , and and their properties
As we explained above, if the solution of eq. (19) is infeasible then is divided into and (i.e ) and is divided into and (i.e ). Since, solution of eq. (19) is infeasible, our next step is to find feasible assignment for maximum number of ONUs. In order to do so, we modify eq. (19) in the following ways. Firstly, we remove the arc set constraint (i.e ) which allows an assignment for all ONUs. Definitely, some assignments must be infeasible (i.e doesn’t belong to ). Further, we modify the cost factor, by where is given by eq. (29).