1 Introduction

The passive optical network (PON) system has provided a cost-effective optical network and attracted much attention by the emergence of high-bitrate video-centric applications over the Internet in the access side [1], which is typically composed of optical line termination (OLT) and optical network unit (ONU) nodes. In the current commercial PON, with the variation of user requirement and number, the configuration of OLT equipment, such as dynamic bandwidth allocation (DBA) and operation administration and maintenance (OAM) function, is needed to modify through network management system manually and periodically in the local areas. From the operators’ point of view, it can boost the unnecessary cost of operation and maintenance greatly due to the geographical decentralized nature and huge quantity of OLTs [2]. Additionally, the traditional PON uses the DBA policy locally to realize the allocation of bandwidth resources between the single OLT and its affiliated ONU nodes, according to the terminal bandwidth demands and the pre-established policies. The data flow of different users lacks dynamic control with different strategies and intelligent schedule among various OLTs, so that the quality of service (QoS) can be hardly guaranteed and causes low network resource utilization.

Recently, the software-defined networking (SDN) enabled by OpenFlow protocol has gained popularity by supporting programmability of network protocols and functionalities, which can turn network infrastructure into a programmable elastic resource under central control [35]. The main SDN design principles contain a separation of data and control plane, a logically centralized control plane, hardware abstraction, and application level network programmability. With these tools, SDN promises to enable more deterministic network behavior, simplified network planning and operations, increased service agility, and more automated service composition. While lowering capital expenses was a focus of early SDN initiatives, there is industry consensus that more efficient network operation is the real SDN opportunity [6, 7]. SDN can provide maximum flexibility for the operators and make a unified control over various resources for the joint optimization of functions and services with a global view. SDN technology was first used in data center and campus networks, and has since then extended into the interdata center and service provider space of metro and backbone networks [810]. Due to the diversity and flexibility of data flow in local side, the demand for dynamic control is much urgent access network [11] than the relatively fixed traffic in one of core and convergence sides. Therefore, SDN/OpenFlow technique promoted into access side in “first mile” is a promising scenario to remotely control and allocate the flows of various PONs in a dynamic, programmable, and unified manner [12].

SDN for interdata center with cross-stratum optimization between optical network and application stratum resources has been reported and demonstrated in our previous works [13, 14]. On the basis of it, in this paper, we first propose a novel software-defined optical access network (SDOAN) architecture for remote unified control based on OpenFlow-enabled PON. Based on the proposed architecture, a service-aware flow scheduling (SA-FS) strategy is introduced to flexibly and efficiently allocate the network bandwidth resources and perceive the changes of network flows in real time. The SDOAN can enhance the resource utilization and QoS guarantee of each user effectively through unified control manner, and reduce the operating expense (OpEx) by remote interaction and operation. The overall feasibility and efficiency of the proposed architecture with SA-FS strategy are experimentally verified on our test bed and compared with interleaved polling with adaptive cycle time (IPACT) strategy in terms of resource occupation rate and average delay.

The rest of this paper is organized as follows. Section 2 proposes the novel SDOAN architecture and builds functional models, and protocol extension for SDOAN. The service-aware flow scheduling strategy is introduced in Sect. 3. The interworking procedure for SDOAN under this architecture is described in Sect. 4. Section 5 shows the experimental demonstration and performance evaluation of our test bed. Section 6 concludes the whole paper by summarizing our contribution and discussing our future work in this area.

2 Remote unified control in SDOAN

The use of SDN enabled by OpenFlow protocol has been widely studied in terms of packet-switched and circuit-switched networks, especially including the optical networks employing packet, fixed, and flexible grid technologies as well as devices in metro and backbone networks [5, 8]. The software-defined optical access networks (SDOAN) architecture can implement the remote unified control based on OpenFlow-enabled PON, which can allocate the network bandwidth resources efficiently in the control manner of open system. In this section, the main core and structure of the novel architecture are briefly pointed out. After that, the functional building blocks of SDOAN and coupling relationship between them as well as the main relative protocol extension are presented in detail.

Fig. 1
figure 1

The architecture of SDOAN for remote unified control based on OpenFlow-enabled PON

Fig. 2
figure 2

The functional models of a OF-OLT and b OC. c The extension of protocol for SDOAN

(a) SDOAN architecture

The SDOAN architecture for remote unified control is illustrated in Fig. 1. The distributed PONs are interconnected and converged into metro network through broadband remote access server (BRAS) or edge IP router, of which typical equipment of metro network includes synchronous digital hierarchy (SDH), multi-service transmission platform (MSTP), packet transport network (PTN), or optical transport network (OTN), while the OpenFlow controller (OC) is deployed in control center at core side. The network resources in PONs can be software defined with OpenFlow and controlled by OC in a unified manner. To control the PON through extended OpenFlow protocol (OFP), OpenFlow-enabled OLT node with OFP agent software is required, which is referred to as OF-OLT. Note that in order to save the cost and avoid signaling storm, we do not consider thousands of ONUs can be controlled directly by OC for simplicity. The motivations for SDOAN architecture are twofold. Firstly, the centralized OC located in central side is used by the operator to maintain and control multiple domains of PON remotely. Secondly, the dynamic bandwidth assignment of users among multiple domains can be unified scheduling dynamically, so as to implement QoS guarantee and resource optimization. Based on functional architecture described above, a SA-FS strategy is proposed in the OC to realize network bandwidth resources assignment with the real-time flow monitoring.

(b) Functional model and protocol extension

The functional building blocks of OpenFlow controller and OF-OLT and the coupling relationship between different modules are shown in Fig. 2a, b. The basic responsibilities and interactions of OC and OF-OLT are described as follows. In the OC, the flow monitoring module interworks the information with OF-OLTs periodically to compile the statistics of flow in OF-OLTs via enhanced OpenFlow model. The control information (e.g., DBA and OAM) of OLT can manage and control the parameters of OF-OLT, such as the bandwidth and latency, which is determined by resource allocation strategy (i.e., SA-FS strategy in this work) according to user requirements and the current status of network resource. After receiving the network resource status, SA-FS strategy decides to allocate and adjust the bandwidth to guarantee the QoS demands based on the user requirements. Note that the policies exist as the plug-in to facilitate extension and customization by operator. Then, based on the results of strategy, enhanced OpenFlow module can allocate the network resources efficiently and configure the corresponding parameters of OLT using control information according to user requirements through OFP. When the resource assignment is performed successfully, the network resource information is conserved into database management and updated the results. In OF-OLT, the downstream flow is done by the transmitter of transmit (Tx) module and broadcast to ONU. For the upstream, the receive (Rx) module can be used to receive the flow and dynamically allocate the bandwidth with various granularities for corresponding ONU. The OFP agent embedded in OF-OLT maintains flow table and models OLT control information (e.g., DBA and OAM) as software and maps the content to configure and control the physical hardware API. The upstream and downstream connections can be thus virtualized as the logical flows, such that they can be viewed, queried, and modified in OFP agent software.

Table 1 Notations and definitions

For the control of OLT, flow entry of OFP is extended and shown in Fig. 2c. In the packet-switched network, OpenFlow abstracts data plane as a flow entry which is defined as rule, action, and statistics. It represents the packet’s characteristic (e.g., IP address and TCP/UDP port) and the action of switch. In this architecture, the rule is extended as the in/out port and PON label (e.g., guard time, bandwidth, time slot, and ONU number), which are the main characteristics of PON. The action of OLT node mainly includes dropping, upping, and downing flows to the port/label in upstream or downstream direction with specified adaption function, and configure a flow to relative policy. Different combinations of rule and action realize the control of OLT. The statistics function is responsible for monitoring the flow property to provide scheduling strategy.

3 Service-aware flow scheduling strategy

The basic principle of the service-aware flow scheduling (SA-FS) strategy is to collect and analyze the real-time traffic information of the whole network and then generate global bandwidth optimization strategy. Furthermore, we introduce the prediction scheme to reduce the effect of processing delay on QoS and offer better compatibility with traditional non-OpenFlow PON. Moreover, in order to cope with different conditions, the proposed SA-FS strategy mainly consists of four stages, which can be referred as OLT internal bandwidth allocation, global bandwidth allocation, global bandwidth recovery, and OLT internal bandwidth recovery, respectively. In addition, some requisite notations and their definitions in the proposed strategy are listed in Table 1.

At the beginning, the controller initializes OLTs and ONUs bandwidth according to resource authentication applications. Then, OLT allocates bandwidth resources to ONUs depending on their initialization parameters and the rules of traditional DBA policy. While the controller monitors \(\hbox {Av}_{n}\) following the variable polling cycle \(C_{n}\), which can be expressed as follows.

$$\begin{aligned} C_n= & {} e^{-P_n }\times \left( {e-e^{-A_n /T_n }} \right) ,\quad n=1,2,\ldots , N \end{aligned}$$
(1)
$$\begin{aligned} \hbox {Av}_n= & {} max\left\{ A_n \cdot \hbox {BT}^{\left( {1+P_n^3 } \right) }- T_n ,0\right\} ,\quad n=1,2,\ldots ,N\nonumber \\ \end{aligned}$$
(2)

When \(\hbox {Av}_{n}\) is zero, the SA-FS strategy can be triggered. As mentioned above, the first stage is the OLT internal bandwidth allocation. In this condition, the controller calculates idle bandwidth of all ONUs under the \(\hbox {OLT}_{p}\) as follows.

$$\begin{aligned}&I_n =\left( {A_n -T_n } \right) \times min\left\{ \hbox {IT}\cdot \left( {1-P_n } \right) {,} 1 \right\} {,}\nonumber \\&n=1,2,\ldots ,N,\quad n\ne q \end{aligned}$$
(3)

Here, \(P_{n}\) ranges from \(-\)1 to 1 representing the fluctuation probability of \(\hbox {ONU}_{n}\)’s bandwidth requirement, which can be calculated by the NeuroFuzzy model [15]. After that, the controller reduces the allocated bandwidth of idle ONUs to meet \(\hbox {ONU}_{p}\)’s bandwidth requirement considering the priority of ONUs and the value of \(I_{n}\). The \(B_{q}\) means the pending optimized bandwidth of \(\hbox {ONU}q\). The value of \(B_{q}\) is the difference between the required bandwidth and the current bandwidth of \(\hbox {ONU}q\). If the value of \(B_{q}\) is greater than zero, it means that the current bandwidth is not able to meet the user requirement. If the value of \( B_{q}\) is zero, it indicates that the bandwidth optimization has been done, and then, the controller can gather this optimization results and issue bandwidth allocation message to control the OLT. Afterward, underlying devices allocate bandwidth according to the new DBA parameters. However, if \(B_{q}\) is still greater than zero after this stage, the controller starts the global bandwidth allocation stage, including p and the new \(B_{q}\). Then, the controller calculates \(I_{m}\), which can be written as follows.

$$\begin{aligned}&I_m =\left( {A_m - T_m } \right) \times min\left\{ \hbox {IT}\times \left( {1-P_m } \right) {,} 1 \right\} {,}\nonumber \\&m=1,2,\ldots ,M,\quad m\ne p \end{aligned}$$
(4)

The m is the number of OLTs under convergence switch corresponding to \(\hbox {OLT}_{p}\). In this stage, the controller can optimize bandwidth allocation among multiple OLTs according to the comprehensive ranking of \(I_{m}\) and the priority of OLTs. Note that the allocated bandwidth of idle OLTs can be cut down in order, while that of \(\hbox {OLT}_{p}\) can be increased at the mean time. As above, if \(B_{q}\) becomes zero, the optimization will stop. Once \(B_{q}\) is still greater than zero after this stage, the controller needs to make sure whether the current allocated bandwidth of \(\hbox {OLT}_{p}\) is smaller than the authorization value. If it is true, that means that there is unfair situation in OLT bandwidth allocation, which will enable of global bandwidth recovery stage. In this case, the controller can calculate all the unfair bandwidth of OLTs, and the sum is given below.

$$\begin{aligned} F_m =\max \left\{ \hbox {Au}_m -A_m , 0 \right\} ,\quad m=1,2,\ldots ,M,\quad m\ne p \end{aligned}$$
(5)

Only on the condition of light network loads can the \(\hbox {OLT}_{m}\)’s allocated bandwidth exceed \(\hbox {Au}_{m}\) to improve network resources utilization rate. If the network is busy, the fairness will be a significant property we need to guarantee at first. To recover the fairness of bandwidth allocation, the controller considers the value of \(F_{m}\) and the priority of OLTs and then reduces those \(F_{m}\) which is greater than zero to the equal of \(\hbox {Au}_{m}\) following this comprehensive order. In addition, the controller can re-update ONUs bandwidth allocations under the adjusted OLT. At this point, if \(A_{q}\) is still less than \(\hbox {Au}_{q}\), the last stage, OLT internal bandwidth recovery, can be performed. The controller calculates \(F_{n}\) under the \(\hbox {OLT}_{p}\) as follows.

$$\begin{aligned} F_n =\max \left\{ \hbox {Au}_n -A_n , 0 \right\} ,\quad n=1,2,\ldots ,N,\quad n\ne q \end{aligned}$$
(6)

According to the value of \(F_{n}\) and the priority of OLTs, the controller can get the comprehensive order to cut down those ONUs’ allocated bandwidth when \(F_{n}\) is greater than zero. Thus, the fairness of bandwidth allocation will be recovered. Finally, all the steps of SA-FS strategy have been done, and the updated bandwidth allocation configurations can be sent to underlying device to be implemented. The outline of SA-FS strategy is described in Algorithm 1.

figure i

4 Interworking procedure for unified control with SA-FS strategy in SDOAN

In this section, we illustrate the interworking procedure for unified control with SA-FS strategy in SDOAN remotely.

Figure 3 shows interworking procedure for SDOAN unified control in the proposed architecture. As shown in Fig. 3, two OF-OLTs and corresponding ONUs are interconnected through metro network, while OC controls them in SDOAN architecture. For the flow monitoring and detecting PON real time, the OC sends flow monitor request to each OF-OLT node using an extended features request message sent periodically via the OFP, while obtaining the flow status information with extended features reply message from them. Note that we consider two scenarios in the analysis for simplification, i.e., the new ONU accesses to network, and the existed ONU changes the requirement. In the former scenario, if a new ONU1 links with OF-OLT1 for service provisioning, the device forwards the request to the OC. The SA-FS strategy can be completed in the OC considering the QoS guarantee and current network resource condition, and then, the OC proceeds to send a new flow entry to arrange the time slot, bandwidth, and corresponding configuration for the new ONU1. When the service request is established successful, the OF-OLT1 can send the setup success reply to the OC. In the traditional PON, the DBA and OAM is deployed in the OLT, which can schedule the bandwidth among multiple ONUs under one OLT. If one OLT is not able to meet the bandwidth changes of ONU, it requires the unified bandwidth allocation among multiple OLTs by the OpenFlow controller in order to guarantee the QoS of user. So, in this scenario, we assume that the ONU2 changes the requirement and conjoint OLT is not able to meet the bandwidth changes. Therefore, the unified control with SA-FS strategy is needed in SDOAN scenario remotely. In the latter scenario, once the OC obtains QoS requirement of the running ONU2 changed from monitoring message, it will send the bandwidth granularity variation message to OF-OLT2 for updating flow entry and realize the bandwidth adjustment flexibly. Then, OF-OLT2 responds the modification reply message to the OC when the bandwidth adjustment is completed. The interworking messages described above are shown in detail in the lower left corner of Fig. 3.

Fig. 3
figure 3

Interworking procedure of SDOAN for unified control

Fig. 4
figure 4

Experimental test bed and demonstrator setup

5 Experimental setup, results and discussion

To experimentally evaluate the overall feasibility and efficiency of the proposed architecture, we set up SDOAN link with optical networks for remote unified control comprising both control and data planes based on our test bed, as shown in Fig. 4. In the data plane, four convergence network nodes are equipped with ROADM supporting multi-granularity client-side interfaces. Two groups of 10GEPON equipment are deployed in the access side. In each group, two ONUs are interconnected with OF-OLT by optical splitter. We develop software OFP agents according to the API function of OLT to control its hardware through OFP. The agents and other nodes are realized on an array of virtual machines created by VMware software running at embedded Linux platform on IBM X3650 servers. Since each virtual machine has the operating system and its own CPU and storage resources, it can be considered as a real node. The virtual OS technology makes it easy to set up experiment topology for large scale extension. For OpenFlow-based SDOAN control plane, the OpenFlow controller is assigned in core side to support the proposed architecture and deployed in three virtual machines for the control and monitor using OpenFlow, SA-FS strategy, and “plug-in” policies, while the database server is responsible for maintaining management information base and the configuration of the database and network resources. The operator can monitor and configure the system through remote access.

Fig. 5
figure 5

a Wireshark capture of the OpenFlow message sequence for unified control. b The capture of extended flow mod message for SDOAN

We have verified experimentally remote unified control in SDOAN architecture. The service is provisioned according to ONU required at client side of OLT and adjusted based on variation of user QoS demands. Figure 5a illustrates the Wireshark capture of the OpenFlow message exchange sequence for unified control deployed in OC. As shown in Fig. 5, 10.108.67.21 represents the IP addresses of OC, while 10.108.51.22 and 10.108.50.21 denote the corresponding OF-OLT node respectively. Note that the existing OpenFlow messages have the original function. For simplicity, these messages are reused to simplify the implementation in this paper. The new messages types will be defined to support new functionalities in the future work. The OC monitors the status of each OF-OLT node through features request message, and obtains the information using features reply message from them. Once a new ONU access to OF-OLT for the service provisioning, the OC receives packet in message to notice the request from the corresponding OF-OLT. Through the interworking between them, the OC obtains the request and performs SA-FS strategy according to the QoS request and current network resources utilization. Then, the OC sends the flow mod message to add new flow entry to arrange the time slot, bandwidth and corresponding configuration for new ONU. If the OC obtains QoS requirement of existed ONU changed from features reply message, it sends the bandwidth granularity variation through the flow mod message to corresponding OF-OLT for flow entry update and elastic QoS adjustment implementation. After the achievement of service accommodation or adjustment, the corresponding OF-OLTs report the service status to the OC through packet in message. The experimental results correspond to the procedure we depicted in Fig. 3. To satisfy the requirement of SDOAN architecture, the flow mod message is extended for sending the service accommodation or adjustment commands to OF-OLTs. The corresponding extensions range over OFP_Match structure and Command field. In the extension, 16 bits guard time, 16 bits ONU, 16 bits time slot, and 16 bits bandwidth are to present some features of PON in SDOAN, which are implemented in OFP_Match structure. Up, down, drop and configure are actions which are implemented by extending Command field. Optical nodes collect OFP_Match and Command information in order to control the flow upstream or downstream. Figure 5b shows a snapshot of the extended flow table modification message for QoS adjustment, which verifies OPF extensions for SDOAN and are the same as we depicted in Fig. 2c. An eye diagram tester is positioned at the client side of OF-OLT, and the eye diagram is shown in Fig. 6a.

Fig. 6
figure 6

a The eye diagram of OF-OLT, b average delay and c average resource utilization among various strategies under heavy traffic load scenario for SDOAN, d average delay of a single mobile user for SDOAN

We also evaluate the performance of SDOAN under heavy traffic load scenario with PON using virtual machine, and compared SA-FS strategy with interleaved polling with adaptive cycle time (IPACT) [16] strategy in terms of resource utilization rate, average delay, and delay of a single mobile user. Moreover, we also investigate the influence of prediction scheme as mentioned on the proposed strategy by using SA-FS without prediction as a contrast. The total aggregate uplink rate of aggregate switch with 40 OLTs is 400 Gbps, and the total uplink rate of each OLT with 1:64 splitting ratio is 10 Gbps. The average processing delay of controller is about 1ms. Figure 6b, c compares the performances of the strategies in terms of average delay and resource occupation rate. As shown in the figures, the SA-FS strategy can reduce the average delay than traditional IPACT strategy significantly. Another phenomenon can be seen that SA-FS strategy effectively increases resource occupation rate than IPACT. It is because the SA-FS implements dynamic bandwidth allocation based on varying user demands to adjust the bandwidth with various granularities. With the increase in traffic loads, the average service delay of the proposed SA-FS strategy changes little, and almost can maintain the value below 25ms. While the average service delay of SA-FS strategy without prediction increases a little at the same time. It turns out that when the loads are light (\(<\)30 %), the effects of prediction on performance of SA-FS are very small. However, for the network with heavy load (more than 70 %), prediction can play a much more important role on the performance. We can find that the service average delay of SA-FS strategy without prediction increases significantly in the case of heavy loads. The reason is that as the loads become heavier, the available bandwidth for underlying devices decrease sharply, and then, there is great need to implement bandwidth allocation optimization by the controller. Thus, the processing delay of controller becomes the key factor which may influence the services to get enough bandwidth immediately. To deal with this problem, the proposed SA-FS strategy imposes the prediction scheme of exact bandwidth requirements based on historical data, which offers the opportunity to separate the bandwidth allocation policy of underlying devices and bandwidth optimization policy of controller. Therefore, the system requirements of processing in real time will be lower and the delay caused by traffic burst can be reduced by applying variable polling cycles in the optimization procedure. Note that in the case of extreme loads, there will be a big delay both for the proposed SA-FS strategy and SA-FS without prediction. The changes of services average delay during one ONU user terminal’s move is shown in Fig. 6d (assuming the user access to the network via Wi-Fi or 3G under a ONU) and the network average load is 50 and 80 % respectively. The results illustrate that SA-FS strategy offers unified user experience with excellent quality. Excepting a small fluctuation in the network switching process, the user delay is very small, keeping in 800 \(\upmu \)s or less. In addition, there are some costs of the SDOAN architecture to obtain the performance improvement. Firstly, the complexity of the architecture is promoted to a certain extent due to the deployment of OpenFlow controller. The signaling between controller and OLT has been extended to achieve the software-defined control. Secondly, the reliability of the architecture is reduced in SDOAN. In the whole network, just one controller is used to manage and control the multiple domains of PON, while many OLTs and corresponding ONUs are controlled by that one. In case of the failure of controller, the whole PON cannot work well without any control. In the future work, we will research how to reduce the cost of architecture without the declining of the other performance.

6 Conclusion

In order to meet the requirements of manageability and control for access networks, this paper experimentally presents a novel SDOAN architecture for remote unified control. Additionally, the SA-FS strategy is introduced for SDOAN in the proposed architecture. The main extended OpenFlow messages are described in this paper. The feasibility and efficiency of SDOAN are verified on our test bed built by control plane and data plane with OpenFlow-enabled OLTs. We also quantitatively evaluate its performance under heavy traffic load scenario in terms of average delay and resource utilization rate, and compare it with IPACT strategy. The experimental results indicate that in our tested scenario, SDOAN with SA-FS strategy can dynamically provision and adjust service to guarantee the QoS demand via extended OFP, and utilize optical network resource effectively.

Our future works for SDOAN include two aspects. One is to improve SA-FS performance and extend the test bed to realize the unified control of aggregation and access optical networks. The other is to implement the network virtualization in optical access network on our OpenFlow-based test bed.