Keywords

1 Introduction

The demand for high-speed data services is constantly rising. By 2021, it is estimated that the data requirements of access networks would exceed 3.3 Zettabytes [1], and more than 26 billion networked devices and these connections would produce approximately thrice the traffic generated in 2015 [2]. Due to high capacity, cost-effectiveness, and coverage potential, Passive Optical Networks (PONs) are becoming a suitable and promising access network option. Recently the deployment of XGS-PON [3] and 10G-EPON [4] have been reported which are capable of providing 10 Gbps in the downstream and 1/2.5/10 Gbps in the upstream direction. NG-PON2 supports a total network throughput of 40 Gbps [5]. According to the latest updates to standard G.989.2, enabling up to a total of 80 Gbps capacity has been approved and a discussion on bit-rate increment from 10 Gbps per channel to 25 Gbps has taken place in the ITU-T [6]. The Full-Service Access Network (FSAN) group has started working on the specification of the future broadband network under NG-PON2 standard. In NG-PON2, the optical line terminal (OLT) allocates bandwidth and specifies the number of the transmission windows (TWs) on the wavelengths to the optical network unit (ONU). After receiving the grant, the ONUs start sending data frames to the OLT. This is termed as dynamic wavelength and bandwidth allocation (DWBA). To achieve maximum bandwidth utilization, an efficient DWBA in the NG-PON2 system is required. Otherwise, improper resource allocation might lead to the degradation in the overall network performance as there would be more delay and increased bandwidth wastage. An efficient DWBA scheme allows the system to support additional customers on the network and to support enhanced services. Thus, DWBA is a method of assigning wavelength and bandwidth to the ONUs based on their traffic contracts and the usage patterns. The standard for NG-PON2 (ITU-T G.989) describes the single wavelength bandwidth allocation, but it leaves the multiple wavelengths allocation issue to the implementers’ preferences as long as the base cases, which are discussed in the standard specification, are handled [5]. In this work, the focus is on the wavelength assignment part, assuming that the system applies conventional DBA method described in the standard ITU-T G.989. It is also assumed that the same DBA method is applied for every wavelength. Considering these mentioned assumptions, we propose five DWBA algorithms with the goal of minimizing the total delay of the high priority data and reducing the bandwidth wastage of the system. The experiment results show that the small-sized or low-priority data should be transmitted over a single wavelength to minimize the bandwidth wastage and the high priority ones over multiple wavelengths as parallel transmission reduces the transmission delay.

2 Dynamic Wavelength and Bandwidth Allocation (DWBA) in PONs

Dhaini et al. assumed in [7] that in an EPON, the DWBA scheme grants an ONU request over multiple wavelengths simultaneously. They propose an EPON-based DWBA algorithm with an assumption that the tuning speed of the ONUs are in the microsecond range. Y. Luo et al. propose a DWBA algorithm for the TWDM-based PON where multiple XG-PONs are stacked. Their results show that there are deciding factors such as the load-balance and the tuning cost. With the goal of solving scheduling methods for the transmissions over multiple wavelengths and how to reduce propagation delays in the long reach scenarios, Buttaboni et al. analyze the multi-thread polling in a long-reach PON and propose EFT-partial-VF multi-threaded DWBA algorithm. Their results show improvement in the delays [8]. In [9], the authors proposed a DBA based on Water-Filling or WF algorithm. In this scheme, the grant of an ONU is broken into smaller parts and spread across all the wavelengths. If all the channels have the same finish time for the last bandwidth assignment, this scheme would allocate those grant parts uniformly over all the available wavelengths. This would make all wavelengths busy and unavailable for the other ONUs. This leads to higher packet delays. These smaller parts of grants are not large enough that they can be transmitted over a wavelength. Each frame has to wait for a grant size large enough on each channel to be transmitted to the destination. There is a possibility that the data frames need to wait for several allocation cycles to be transmitted. This situation increases the packet delay. As all the ONUs do the transmission over all the channels in the Water-Filling algorithm, every ONU faces the unordered frames issue. The main goal of the authors of [10] is to ensure fair bandwidth distribution, lower latency, and avoid frame reordering. The proposed algorithm does not equalize all the wavelengths in a single bandwidth allocation; instead, transmission is done by using fewer number of wavelengths. This increases the bandwidth efficiency. Each ONU is assigned to one channel and all ONUs get grants in parallel which confirms the fairness. All the available wavelengths are sorted into ascending order of their start time and the grant is allocated in the wavelength with the earliest start time. Although the results show that the proposed scheme reduces packet drop rate and it does not increase the requirement for a larger buffer, this algorithm does not address the situation when an ONU needs a grant that requires more than one wavelength’s bandwidth. M. K. Multani et al. proposed an algorithm, Partially Online Dynamic Bandwidth Allocation Algorithm (PAROND), which is designed for EPON in the hybrid TDM/WDM architecture [11]. This scheme has different ways to deal with the loads (high or low). After receiving REPORT messages from all ONUs, they are sorted based on their arrival times. This DWBA assigns grants to the highly loaded ONUs as soon as they request them. These papers do not consider the priority of the customer or the traffic. Also, the allocation methods are not applicable for NG-PON2. In our work, we propose wavelength allocation methods with diverse customers and prioritized traffic for the NG-PON2 system.

3 Dynamic Wavelength Allocation Problem in NG-PON2

We focus on the wavelength assignment part, assuming that the system applies conventional DBA method described in the standard G.989. It is also assumed that the same DBA is used for every wavelength. Any DWBA is a two-step procedure: the grant size based on the each ONU’s request and allocating that over single/multiple wavelengths. The OLT and ONUs exchange messages (Request and Grant). Based on each ONU’s Request message, the OLT evaluates the upstream bandwidth allocation. Then it sends the allocated grant information to each ONU through a Grant message. The ONUs start transmission based on the grant. The initial objective of this study is to minimize the total delay of the high priority data. To fulfill the purpose, five methods of wavelength allocation are proposed. They are discussed in the next section.

3.1 Proposed Methods and Priority Classes

No-Split Method: The OLT assigns grants to each request in a single channel if this method is applied in the system. Each grant is assigned in the wavelength which has the earliest available time.

Equal-Split Method: The OLT splits the grants in equal sizes and transmit those parts through all the channels. If a grant size is S and the number of active wavelength is m, then each wavelength would carry \(\frac{S}{m}\) amount of the grant.

Priority Classes: The next three methods that are proposed in this work, deal with the priority of both the data and customer type. Two main classes of the priority are introduced in this work: Customer and Traffic. The customer base priority-levels are business customer and residential users. There classes are A and B, respectively. Based on the traffic type, there are three types:

  1. (1)

    Live: Live telecasting, interactive online game, VoIP calls.

  2. (2)

    Video: TV shows, other video services (e.g. YouTube, Netflix, etc.).

  3. (3)

    Data: services such as browsing, email, etc.

Table 1. Priority class combinations

Considering these two types of customer classes, six combinations are possible. Each of these combinations has a weight. The weight range is 1 to 6 whereas 1 represents the highest priority and 6 has the lowest. The business users have higher priority over the residential users. The “live” category service is extremely delay-sensitive. Thus, it has the highest priority than the data service (email, browse, etc.). Table 1 explains all these six combinations with their class and priority weight. The classes A1, B1, A2, B2 include live telecasting, video, teleconferences, etc. These need parallel data transmission of minimize the delay. On the other hand, A3 and B3 types are delay-tolerant. They do not need to send over multiple wavelengths which lead to bandwidth wastage.

Priority Based No-Split Method: The OLT sorts all the grants based on their priority weights. The grants with priority weight 0 are transmitted first. By this way the grants are sent one-by-one. Each grant is transmitted through one single channel. Each grant is assigned in the wavelength which has the earliest available time.

Priority Based Equal-Split Method: The OLT sorts all the grants based on their priority weights. The grants with priority weight 0 are transmitted first. The rest of the data transferring procedure is same as the Equal Block-Split system: the grants are split equally and send through all the wavelengths.

Priority Based Decider-Split Method: The OLT sorts all the grants based on their priority weights. Unlike the previous two methods, this scheme does not transmit grants only over one or all wavelengths. It transmits the high priority grants (class A1, B1, A2, B2) exactly like the Priority-Based Equal Block-Split methods. Each of the low priority grant (A3 and B3) is sent over one single channel.

4 Mathematical Formulation

To solve the wavelength assignment problem with the goal of minimizing the total transmission delay of high priority data, we construct a Mixed Integer Linear Programming (MILP) model with the integer constraints to obtain the optimal solutions. The formulations can be solved with IBM CPLEX optimization software [12], from which an optimal solution is reached.

4.1 Model Inputs

In the network model, we have OLT and ONUs. Each ONU operates in four or eight wavelengths in an NG-PON2 system. The wavelengths can be defined as: \(w_j = (t_s, t_{d_i}, d_r)\). The variable \(t_s\) is the available time of the wavelength \(w_j\), \(t_d\) is its duration of availability for a grant \(G_i\), \(d_r\) is the data rate. We define the set of all requests and denote each element as \(R_i\). Every request has a arrival time \(A_i\), a transmission start time \(S_{ij}\) at wavelength \(w_j\). It also has end time \(E_{i}\) and a priority p.

Input Parameters:

N: Total number of requests, \(R_i\): The requested grant for ith request, \(A_i\): The arrival time of the ith request, \(d_r\): The data rate of each wavelength, \(B_{aT}\): The total available bandwidth, \(B_{aj}\): The total available bandwidth in wavelength \(w_j\), \(p_i\): The priority of the ith grant, n: an integer value, K: Large positive value.

Constant Parameters:

M: Total number of wavelengths, W: Set of wavelengths \(\{w_1, w_2, .., w_M\}\), \(t_{g}\): The guard-band between two transmission slots.

Variables:

\(G_{ij}\): The ith grant on \(w_j\), G: The total grant, \(S_{ij}\): Start time of the ith grant on \(w_j\), \(E_{i}\): End time of the ith grant, \(E_{ij}\): End time of the ith grant’s portion at wavelength \(w_j\), \(x_{ij}\): Binary parameter, equals 1 when ith grant uses wavelength \(w_j\), \(b_{G_i}\): Binary parameter, equals 1 if a grant \(G_i\) is scheduled for transmission, \(\overline{b_{G_i}}\): 1 - \(b_{G_i}\).

4.2 Objective and Constraints

No-split and Equal-Split Methods: The objective is to reduce the total time duration between a request’s arrival time to transmission finish time. Priority Based No-split, Equal-Split, and Decider-Split Methods: The objective is to reduce the total time duration between the higher priority request’s arrival time to the transmission finish time. This means that the higher priority requests should be transmitted before the lower priority ones.

Objective:

$$\begin{aligned} {\textit{minimize:}} \sum _{i=1}^{N} (E_{i} - A_i) + \sum _{i=1}^{N}K^{p_{i}} \end{aligned}$$
(1)

Here, the value of p would always be 0 for the NBH and EBH methods.

Subject to:

We are mentioning some of the most important constraints due to limitation of the space in the paper.

$$\begin{aligned} \sum _{i=1}^{N} \sum _{j=1}^{M} G_{ij} \le B_{aT}, \forall i \in N, \forall j \in M \end{aligned}$$
(2)
$$\begin{aligned} \sum _{j=1}^{M} B_{aj} \le {B_{aT}}, \forall j \in M \end{aligned}$$
(3)
$$\begin{aligned} S_{ij} \ge A_i, \forall i \in N \end{aligned}$$
(4)
$$\begin{aligned} \sum _{j=1}^{M} E_{ij} \ge E_i, \forall i \in N, \forall j \in M \end{aligned}$$
(5)
$$\begin{aligned} \sum _{j=1}^{M} [E_{ij} - S_{ij}] \ge G_i, \forall i \in N, \forall j \in M \end{aligned}$$
(6)
$$\begin{aligned} S_{(i+1)j} - S_{ij} \le x_{ij} * (d_r + t_{g}),\forall i \in N, \forall j \in M \end{aligned}$$
(7)

Constraint (2) guarantees that the sum of all assigned grants do not exceed the total available bandwidth of the system. Constraint (3) assures that the available bandwidth remains equal to the sum of all wavelengths’ available bandwidth. Constraint (4) ensures that the \(i^{th}\) request’s transmission start time at wavelength \(w_j\) should not be earlier that its arrival time.

Constraint (5) ensures that the sum of the end times of all the portions of a grant is within the limit of the total end time. In NBH and P-NBH systems, only one wavelength would be used to transmit. Thus, end times over the rest of the wavelengths would always be 0. Constraint (6) is used to make sure that the sum of all \(E_{ij} - S_{ij}\) is equal to the total grant size of that request. Constraint (7) confirms that two consecutive transmission windows do not overlap.

The priority classes have weights from 1 to 6 respectively. This means the highest priority class A1 has a priority weight of 1 and the lowest priority class B3 has a priority weight of 6. The objective function would obtain a higher value when low priority grants are favored over the high ones because K is raised to a power equal to the weight of the request’s priority.

5 Heuristics for Dynamic Wavelength Allocation Problem

The formulations discussed in the previous section can be solved with IBM CPLEX optimization software [12], but the executing time is too long to get allocation results within one scheduling cycle. The wavelength allocation problem is a NP-hard [13] problem. Thus, we propose five heuristic wavelength allocation algorithms of low complexity which are implementable to get near-optimal solutions of the allocation problem. The heuristics have some assumptions: 1. First, the buffer size at the ONUs and the OLT are both infinite. Second, all ONUs are always at a uniform distance from the OLT. Also, all the wavelengths’ available times are always set to the same at the beginning of the transmission. Our five time-efficient heuristic algorithms are: No Block-Split Heuristic, Equal Block-Split Heuristic, Priority Based No Block-Split Heuristic, Priority Based Equal Block-Split Heuristic, and Priority Based Decider Block-Split Heuristic. These methods are explained in the following Sections.

Input and Initialization: M = number of total wavelengths, N = total number of ONUs, W = \(\{w_1, w_2, ..., w_M\}\) is the set of wavelengths, sorted in ascending manner according to their start time. \(B_{a_T}\) = total available bandwidth, \(B_{a_j} =\) available bandwidth at wavelength \(w_j\), \(maxB_i\) = maximum allowed grant for \(i^{th}\) ONU, R = \(\{R_1, R_2, ..., R_N\}\) is the set of requests from all ONUs, G = \(\{G_1, G_2, ..., G_N\}\) Set of grants for all ONUs, \(G_T \leftarrow 0\): total bandwidth grant is initialized to 0. \(P_G\) = \(\{P_{G_1}, P_{G_2}, ..., P_{G_N}\}\) is the set of sorted grants based on their priority (high-to-low) for all ONUs. P = \(\{A1, B1, A2, B2, A3, B3\}\) is the set of sorted priorities from high-to-low and \(d_{low}\) is the minimum grant-size that is allowed for multiple wavelength assignment.

5.1 No Block-Split Heuristic (NBH)

The No Block-Split Heuristic (NBH) is a greedy algorithm. The basic idea is to assign each of the grants over one single channel. In addition, it assigns to the wavelength which is earliest available among all four. Based on these ideas, the NBH algorithm comprises of two main steps: after checking if there is enough unoccupied bandwidth in the available wavelength, the allocation takes place.

figure a

As in this scheme a grant is assigned only in one single channel, the NG-PON2 architecture uses the minimum number guard bands compared to EBH. Also, instead using all wavelength for a single grant, this scheme allows the system to keep other channels unoccupied for the next request allocation. The No Block-Split Heuristic (NBH) is shown in Algorithm 1. The total time complexity is \(O(N + Mlog(M) + MN)\).

5.2 Equal Block-Split Heuristic (EBH)

The basic idea is to split the grant into equal four parts and then assign those over all the four wavelengths. In addition, it does not care about the earliest available wavelengths. Based on these ideas the EBH algorithm comprises of two main steps: after splitting the grant into equal four parts, the allocation takes place over all the wavelengths. This scheme allows to transmit data in one-fourth time duration than the single wavelength assignment system, but uses four-times more guard-bands. The total time complexity is \(O(N + Mlog(M)+N)\) or \(O(2N + Mlog(M))\).

figure b

5.3 Priority Based No Block-Split Heuristic (P-NBH)

It is a greedy algorithm and the basic idea is same as the NBH: to assign each of the grants over one single channel. In addition, before assigning, the grants are sorted according to their priority classes. Based on these ideas, the NBH algorithm comprises of three main steps: the sorting of the grants, then after checking if there is enough unoccupied bandwidth in the available wavelength, the allocation occurs. The high priority grants get the chance to be transmitted before the lower ones. Also, instead using all wavelengths for a single grant, this scheme allows the system to keep other channels unoccupied for the next request allocation. The total time complexity is \(O(N + Nlog(N) + Mlog(M) + MN)\).

figure c

5.4 Priority Based Equal Block-Split Heuristic (P-EBH)

The basic idea is to split the grant into four equal parts and then assign those over all the four wavelengths. In addition, before assigning, the grants are sorted according to their priority classes. Based on these ideas, the P-EBH algorithm comprises of three main steps: the sorting of the grants, then after splitting the grant into four equal parts, the allocation takes place over all the wavelengths. This scheme transmits data in one-fourth time duration than the single wavelength assignment system, but like EBH, it too uses four-times more guard-bands. The total time complexity is \(O(N + Nlog(N) + Mlog(M) + N)\) or \(O(2N + Nlog(N) + Mlog(M))\).

figure d
figure e

5.5 Priority Based Decider Block-Split Heuristic (P-DBH)

We propose another version of wavelength assignment algorithm, the Priority-Based Decider Block-Split Heuristic (P-DBH), which offers data splitting for faster transmission to the high priority data and single channel assignment to the data with small sizes or with low priority. This algorithm is a combination of P-NBH and P-EBH. The total time complexity is \(O(N + Nlog(N) + Mlog(M) + MN)\).

6 Experimental Results and Analysis

The performance evaluation of our proposed schemes are done by examining two cases. First, we compare the static mathematical model with the heuristic cases. Second, we simulate the five proposed heuristic algorithms, and analyze different parameters. In both the cases, we iterate 100 independent instances to confirm that all the values in the plots have a 95% confidence interval.

6.1 MILP Versus Heuristic

The mathematical model discussed in the previous section is converted into AMPL language [14]. The solver that we use is CPLEX [12]. But, this whole process takes a huge amount of time and it increases with the input size. It takes more than two hours to solve the optimal resource allocation for an eight requests experiment in 32-ONU system. Therefore, we only use the proposed heuristic schemes to conduct the experiments for this system. To evaluate the performances of the five proposed heuristic algorithms, a MATLAB simulation system is built. We simulate a NG-PON2 system with 4 wavelengths. Each of these wavelengths support 10 Gbps in both the upstream and downstream transmission. We simulate the system which consist of 32 ONUs and they all are at a distance of 40 km from the OLT. The number of wavelengths available to the OLT is 4 with a line rate of 10 Gbps each. The average data-rate for each ONU is 4 * 10 Gbs/32 or 1.25 Gbps. The guard band is 3 KB. We generated requests with random sizes. For the simulation, we assumed the 35% of the requests belong to A1 & B1 priority classes and the remaining 65% requests belong to the other priority classes. We have some assumptions for the simulations purpose: The buffer size at the ONUs and the OLT are both infinite. All the requests are within the limit of the grant size which means \({R_i = G_i \forall i}\). All ONUs are at a distance of 40 km from the OLT. The guard band size is 3 KB. All ONUs support four wavelengths. Four of the wavelengths’ available time are set to the same at the beginning of the simulation.

Fig. 1.
figure 1

Top: Comparison among the Five Heuristics: left - Total Delay for all and only A1 Class Data Transmission, right - Total Bandwidth Wastage for all and only A1 Class Data Transmission. Bottom: Comparing the Performance between MILP and Heuristics: left - Total delay of five DWBA schemes, right - Total Delay of A1 Class Data Transmission.

In Fig. 1 (top-left), we see that the results of the total delay from MILP and the heuristic shows that the heuristic algorithms perform almost the same as MILP. The heuristics have 7.49% more delay than the MILP on average. Similarly, in Fig. 1 (top-right), the total transmission delay of the A1 class data from MILP and the heuristic shows that the heuristic algorithms perform almost the same as MILP. The heuristics have 8.24% more delay than the MILP on average.

6.2 Priority Class Effect in Delay and Bandwidth Wastage

We add priority class in the methods P-NBH, P-EBH, and P-DBH. We compare the system’s total delay and also the total delay to transmit A1 class priority requests. In Fig. 1 (bottom-left), the solid bars depict the total delay of the system and patterned bars indicate the A1 class data transmission. Here, the total delay is calculated by as follows: Transmission end time - Request arrival time. The grant requests have different arrival times. The NBH and EBH methods do not care about the priority classes. They process the grant based on the arrival time. For example, if an A1 class grant request arrives after 99 B3 or A3 class requests, these two methods would allow transmitting this A1 class grant after transmitting those 99 requests. Figure 1 (bottom-left) shows that there is not much difference in the total delay of the system and the total A1 data transmission delay in NBH and EBH. Contrarily, the rest of the three proposed methods show significant improvement in terms of the A1 class transmission delay as they allow transmission higher priority data before the lower ones. Among these five methods, P-EBH and P-DBH show almost same and the best performance. In terms of total delay of the system, EBH and P-EBH show the best output as these two methods support parallel transmission. Figure 1 (bottom-left) evaluates the wasted amounts of the bandwidth from the guard bands. According to the above mentioned example, if an A1 class grant request arrives after 99 B3 or A3 class requests, these two methods would allow transmitting this A1 class grant after transmitting those 99 requests. Figure 1 (bottom-right) shows the total bandwidth wastage amount for all requests and for A1 class data transmission. The EBH method has the highest amount of wastage. This is due to the use of four times more guard bands than NBH/P-NBH for parallel transmission. Among these five schemes, P-NBH has the minimum wastage for all and also for A1 class transmission.

7 Conclusion

Our results show that the proposed schemes with priority class consideration show significant improvement in the total delay of the high priority data as those are sent first. P-EBH shows better result as it also provides parallel transmission to the system. Although, P-NBH has higher delay than P-EBH, it results in minimum bandwidth wastage. Finally, P-DBH, the hybrid of P-NBH and P-EBH, supports parallel transmission to the A1, B1, A2, B2 class requests and single wavelength allocation for the rest. This ensures minimum delay for the high priority data and minimum bandwidth wastage for the lower ones. Our future work involves developing DWBA schemes for other TWDM PON and virtualized networks.