Computer Communications 34 (2011) 1011–1021
Contents lists available at ScienceDirect
Computer Communications journal homepage: www.elsevier.com/locate/comcom
Time-, wavelength-, and code-domain optical reflection monitoring for next-generation access-metro networks Kerim Fouli a,⇑, Lawrence R. Chen b,1, Martin Maier a a b
Optical Zeitgeist Laboratory, Institut National de la Recherche Scientifique (INRS) Montréal, QC, Canada H5A 1K6 Department of Electrical & Computer Engineering, McGill University Montréal, QC, Canada H3A 2A7
a r t i c l e
i n f o
Article history: Received 22 June 2010 Received in revised form 17 September 2010 Accepted 11 November 2010 Available online 18 November 2010 Keywords: Fault management Operation administration and maintenance (OAM) Optical access-metro network Optical coding (OC) Optical reflection monitoring (ORM)
a b s t r a c t Distributed optical reflectors are proposed to implement essential fault management operations such as fault detection, localization, and notification, in next generation all-optical access-metro networks in the optical layer. Fixed time-slots, wavelengths, or optical codes are assigned to selected key network locations along the path of a monitoring signal where corresponding mirrors are placed. The reflection received at a transmitting node enables online all-optical monitoring of the selected locations. After detailing the network architecture, we explore fundamental system design issues such as real-time fault localization algorithms, fault notification delay upperbounds, and delay line calculation algorithms for synchronous operation. Our simulation results showcase standard and long-reach passive optical networks, and demonstrate that our algorithms achieve fault notification at light speed using off-the-shelf components. Ó 2010 Elsevier B.V. All rights reserved.
1. Introduction Recent research in optical access-metro network architectures points to the emergence of Wavelength Division Multiplexed (WDM) all-optical islands of transparency such as long-reach Passive Optical Networks (LR-PONs) [1,2] and all-optical overlays in access-metro architectures [3]. The increased range and number of optical access-metro nodes compounds the need for Operation, Administration, and Management (OAM) technologies, particularly fault management. After a fault is detected, its location is determined (fault localization) and a network node is notified (fault notification) in order to initiate fault recovery actions. Upon receipt of the fault notification, fault recovery is initiated through widely deployed protection or restoration techniques [4]. It is well established that fault detection should be handled at the layer closest to the failure, thus reducing the cross-layer signaling required for fault notification [5,6]. Furthermore, the fact that the optical-layer infrastructure is largely invisible to the Network Management System (NMS) complicates the fault notification process and compounds failure-related revenue losses [8]. Therefore, ⇑ Corresponding author. Tel.: +1 514 875 1266; fax: +1 514 875 0344. E-mail addresses:
[email protected] (K. Fouli),
[email protected] (L.R. Chen),
[email protected] (M. Maier). URLs: http://www.zeitgeistlab.ca (K. Fouli), http://www.photonics.ece.mcgill. ca/Chen/Chen.html (L.R. Chen), http://www.zeitgeistlab.ca (M. Maier). 1 Tel.: +1 514 398 1879; fax: +1 514 398 3127. 0140-3664/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2010.11.005
fault detection in mission-critical optical infrastructure is required at the optical layer. However, the vast majority of state-of-the-art fault management techniques (e.g., SONET/SDH Automatic Protection Switching) as well as photonic OAM proposals [7] require costly Optical-Electrical-Optical (OEO) conversions. Optical-layer monitoring of PONs is attracting increasing attention owing to the accelerated deployment of PON technology [8]. Optical Time Domain Reflectometry (OTDR) is unpractical in point-to-multipoint (PMP) networks such as PONs [8–10]. This is due to the difficulty of distinguishing the backscattering signal emanating from each PON branch. Various modifications of OTDR have been proposed to overcome this problem. Among these is the combination of OTDR with so-called reference reflectors at the end of each PON branch [8,9], or the embedding of OTDR functionality in Optical Network Units (ONUs) [12,11]. Some recent proposals seek to avoid the expense and complexity of OTDR-based solutions. In [13], the PON distribution fibers are replaced by specialty fibers generating a unique signature Brillouin frequency shift. Optical Coding (OC) techniques have also been proposed to realize fault management schemes for wavelengthbroadcasting PONs that overcome the shortcomings of OTDR [14,15]. Subsequent work on OC-based monitoring extensively investigates the physical-layer feasibility and scalability of 1D and 2D OC-based monitoring solutions in a PON setting [16,17]. We propose a fault management architecture for the optical layer that performs fault detection, localization, and notification all-optically and in real-time. In the proposed optical reflection
1012
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
monitoring (ORM) technique, fixed time-slots, wavelengths, or optical codes are pre-assigned to selected key network locations along the path of a monitoring signal, and corresponding reflectors are placed at those locations. The reflections, encoded with respect to time, wavelength, or optical code, are received at the transmitting node and enable it to all-optically monitor the status of the selected locations. ORM provides a general framework for optical-layer reflection monitoring in the time, wavelength, and code multiplexing domains. Besides, our use of in-line reflectors generalizes reflection monitoring to more network topologies and introduces novel fault localization paradigms and algorithms. More importantly, unlike OTDR and OC-based PON monitoring, the emphasis in ORM is on the fast detection of the faults in the optical layer. Accordingly, our proposed real-time fault localization algorithms are designed to enable fast identification of a faulty segment during normal network operation. The major envisioned application is automatic protection and restoration measures in optical overlays, PONs, and LR-PONs where path redundancy is provided [18]. For such applications, a small number of reflectors that are strategically placed are sufficient to enable online resilience mechanisms. ORM and OTDR are thus complimentary, since the online identification of a faulty segment may subsequently facilitate accurate fault localization through OTDR offline. ORM’s ability to detect faults within strategic fiber segments or photonic components in real-time leads to increased effectiveness and decreased restoration times compared to legacy fault management techniques. ORM thus introduces an additional all-optical monitoring layer that is capable of targeting a pre-defined subset of the fiber plant (e.g., mission-critical infrastructure), paving the way to a more deterministic Quality-of-Protection (QoP) differentiation that is based at the optical layer [19]. In addition, since ORM does not require OEO, it is expected to trade reduced power consumption for added optical layer processing. In this work, we lay down the fundamental architectural and algorithmic principles of ORM. We describe the required architectures for ORM in bidirectional and unidirectional transmission media for both asynchronous and synchronous operation. To our knowledge, this is the first time optical-layer monitoring architectures are proposed for generalized access-metro networks, and include the use of in-line reflectors to enhance the visibility of the optical infrastructure. The foremost contribution of this work is the resulting fault localization algorithm that enables the real-time detection and localization of optical-layer faults in generic optical access-metro networks. The design principles of synchronous ORM are also detailed. Our simulations show the ability of ORM to deliver real-time fault notification capabilities in all-optical access-metro network architectures. The remainder of this article is organized as follows. Section 2 explores architectures of time-domain (TD-), wavelength-domain (WD-), and code-domain (CD-) ORM in all-optical access-metro networks. In Section 3, we propose real-time fault localization algorithms and define fault notification delay as a performance metric. Section 4 introduces delay line (DL) calculation algorithms for synchronous operation and evaluates their performance in terms of DL length. The numerical simulations of Section 5 illustrate the notification delay, scalability, and power budget performance of ORM in selected access-metro scenarios. We conclude in Section 6.
extend to ring and tree topologies [3]. ORM aims at monitoring optical overlays through mapping any distinct location with a unique and distinguishable property of the reflected signal, such as its time-slot, wavelength, or code. In ORM, the node hosting the NMS includes an optical monitor that transmits out-of-band source power to remote locations of the optical overlay. Source power is partially or totally reflected at predefined points along its path and returns to the monitor. The monitor’s receiver module (RM) must have the capability to distinguish the signals originating at any particular reflector. To that end, three domains of operation are specified: in WD- and CD-ORM, each reflector imprints reflected source power with its unique wavelength and code, respectively. In TD-ORM, the monitoring signal received at the RM from a given field reflector occupies a unique time-slot within a periodically recurring time frame. Three modes of operation are further specified: pulse-synchronous, pulsed asynchronous, and continuous wave (CW). TD-ORM implies a pulse synchronous mode of operation where source power is pulsed and remote DLs insure the arrival of reflected pulses within pre-determined time-slots. In contrast, pulse synchronization is not a requirement for WD- and CD-ORM, as they can operate in a pulsed asynchronous fashion without DLs. In CD-ORM, synchronous operation may be used to manage pulse overlap, hence exerting deterministic Multiple Access Interference (MAI) control and enhancing system scalability. In the CW mode of operation, the source monitoring signal is a CW tone that is permanently transmitted toward the reflectors. Hence, in the absence of failures, all encoded signals are constantly available at the RM. CW monitoring requires reflected signals to be orthogonal (e.g., in WDORM and spectrally encoded CD-ORM). CW operation trades its higher wavelength utilization for optimal notification delay performance (see Section 3.2). 2.1. ORM operation and building blocks The most general optical overlay topology is a mesh. The alloptical segments that are subject to monitoring, as well as the location of the monitor, are assumed to be known. The shortest paths between all monitored segments and the monitor form a spanning tree. Assuming that optical splitting/combining, add/drop, or bypass capabilities are made available for the monitoring waveband at all the intermediate mesh nodes, such a tree sub-network spanning all monitored segments can be set up, with the monitor as its root. The monitored segments must be preceded and followed by unique reflectors attached to the monitoring spanning tree. Fig. 1 illustrates the monitoring spanning tree in sample mesh and ring topologies. The grey lines show the path taken by KM, the monitoring wavelength/waveband, and the squares represent in-field reflectors. In the mesh topology example of Fig. 1 (a), the spanning tree traverses only a subset of target mission-critical fiber links and nodes (shown in bold), whereas all links are monitored in the ring topology of Fig. 1 (b). If required, the mesh spanning tree of Fig. 1 (a) may be extended so as to offer full network monitoring. Since it consists of an all-optical spanning tree, the ORM logical topology, in its most general form, is a multi-stage tree. To see this,
2. Network architecture We use the term optical overlay to designate the all-optical transparent portions of future access-metro networks. Prominent examples of optical overlays are not limited to LR-PONs [1] but
Fig. 1. Monitoring power route in (a) mesh and (b) ring topology examples.
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
Fig. 2 (a) shows an illustrative ORM configuration implemented on a small all-optical overlay connecting three nodes (Nodes A, B, and C). The black boxes (Si) represent segments of the optical overlay that are composed of photonic elements such as fiber links, photonic components (e.g., splitters, WDM filters and multiplexers, amplifiers), or all-optical nodes (e.g., Optical Add-Drop Multiplexers (OADMs)). Note that in the example of Fig. 2 (a), S2 must have the capability to split/combine KM. At the monitoring node (Node A), an optical source transmits an out-of-band monitoring signal occupying a dedicated wavelength or waveband (KM). For monitoring purposes, each segment is followed by a reflector (Ri). In TD-ORM, the reflectors are mere optical mirrors (see Fig. 3 (a)). In WD-ORM, they are wavelength-reflective filters. The latter may consist of a Fiber Bragg Grating (FBG) or an Arrayed Waveguide Grating (AWG) with a mirror at a single output, as shown in Fig. 3 (b) and (c), respectively. CD-ORM reflectors are discussed in Section 2.3. The fiber DLs (Di) are only required for synchronous operation, as they specify the relative delays of reflected pulses (see Section 4). In a series configuration of segments, such as {S1, S2, S3}, the monitoring waveband power must be partially tapped at all but the last reflector location. The grey arrows in Fig. 2 (a) represent the flow of the monitoring signal and its remote reflections. Hence, for instance, only part of the monitoring power is diverted to R1 and R2, while all remaining KM power is diverted to R3 using a Wavelength/Waveband Separator (WS). The partial splitting of KM is accomplished through a Wavelength/Waveband Tap (WT) device, discussed below. Upon arriving at the Monitor module, located at Node A, reflected KM power is directed toward the RM (Rcv. Module) through a circulator. In TD-ORM, the RM is a simplified TDM receiver that performs cyclic pattern analysis. In WD-ORM, it may be implemented using a wavelength demultiplexer followed by threshold receivers. In CD-ORM, the RM is comprised of a set of decoders (Deci), each matching a unique field encoder. Fig. 2 (b) shows two possible CD-ORM RM implementations. The splitter-based implementation splits the encoded signal among all decoders. Although it incurs no additional notification delay and less expenditure compared to the switch-based one [15], it results in larger power loss for the received signal. One way to implement WTs is proposed in Fig. 2 (c). Two WS devices, located at the main ports of the device, ensure that KM power travels along the upper branch of the WT whereas other
1013
wavebands remain on the lower branch, thus traversing the WT in either direction with little loss. Monitoring power, issued at the Monitor module, is tapped at the Power Splitter/Combiner (PSC). The portion of KM intended for local reflection is directed to the reflector port, whereas the remaining KM power flows to the next monitored element through the WS. The locally reflected signal re-enters the WT from the reflector port and is directed toward the Monitor port through a circulator. To simplify TD- and CD-ORM receivers, the splitting ratio of the PSC in the consecutive WTs may optionally be set in an increasing fashion along the cascade so as to receive equal power at the RM, hence the term parametric PSC in Fig. 2 (c). For a small number of in-series reflectors, however, fixed ratio splitters may be used. 2.2. Unidirectional elements The use of ORM is not limited to bidirectional fiber, as optical access-metro networks contain unidirectional fiber links where signals are physically prevented from propagating in the reverse direction by isolators. Fig. 4 illustrates how ORM may be applied where unidirectional network elements are present. In Fig. 4 (a), a pair of counter propagating fibers run between nodes A and B, with an amplifier pair located along the path. The reflectors here are equipped with circulators that direct the reflected monitoring signal towards the upstream fiber. The grey straight and dashed arrows represent the directions of the downstream monitoring signal and its upstream reflections, respectively. The configuration of Fig. 4 (a) creates three monitored segments (S1, S2, and S3), each formed by the combination of two counter propagating unidirectional fibers or amplifiers. Fig. 4 (b) depicts the typical implementation of amplification in bidirectional fiber trunks [20]. The reflectors here may be placed outside the amplifier section so as to enable its monitoring as a unified segment S1. From a monitoring point of view, the architectures of Fig. 4 lump counter-propagating unidirectional elements into one bidirectional segment. As is the case for bidirectional fibers, a failure in any direction results in a loss of signal (LOS) event at all downstream reflectors (see Section 3.1). This enables the fault localization algorithms and notification delays described in Section 3 in any bidirectional setting. In the remainder of this work, the monitored segments may denote single bidirectional elements, or dual counter-directional elements where the WT architectures of Fig. 4 (a) apply.
Fig. 2. ORM architecture.
1014
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
Fig. 3. Various TD-, WD-, and CD-ORM reflector architectures.
Fig. 4. Segment definition in (a) Fiber pair and (b) Unidirectional elements.
2.3. OC technologies for CD-ORM The performance of OCDMA systems is severely limited by two major issues: (i) optical and electrical (photodetector) noise such as beat noise and shot noise, and (ii) MAI [21]. CD-ORM systems may be designed to avoid those two limitations. First, CD-ORM requires optical pulses to be encoded at lower speeds than OCDMA. By using lower signal rates, photodetectors can be followed by low-pass filters with smaller cutoff frequencies. This eliminates some of the noise, especially high frequencies associated with beat noise. Second, CD-ORM benefits from MAI reduction through pulse-synchronization. The prime motivation for investigating OC for ORM lies, however, in its scalability (see Section 4). A large variety of OC technologies have been proposed [21] and the design issues presented in this work apply to most of them. OC is conducted primarily in the time and wavelength domains. Fig. 3 (d)–(f) illustrate three possible reflective encoder architectures that utilize time-domain, wavelength-domain, and 2D OC techniques, respectively. Two important architectural features that differentiate OC techniques are to be noted: (1) The width of the spectrum used for monitoring purposes depends on the OC technology. KM may span only one wavelength, as in most timedomain encoding schemes, or a wider spectral range, as required by wavelength-domain or 2D OC schemes [21]. Also, while KM may take the form of a CW in some wavelength-domain encoding schemes, most proposed OC techniques rely on a pulsed signal format. (2) The RM may not comprise an array of all individual decoders. For instance, using the Spectral Amplitude Coding (SAC) OC technique of [22], the RM may consist of a single Semiconductor Optical Amplifier. 2.4. Assumptions The main architectural assumptions are summed below: The optical network is built such that KM spans the missioncritical infrastructure to be monitored. The blocking of KM at a given segment is interpreted as a connectivity fault.
The monitored infrastructure consists of bidirectional links. The latter comprises mostly counter-propagating unidirectional elements (Fig. 4) as is the case in metro rings and LR-PON feeder sections, but also bidirectional fiber trunks (Fig. 2). ORM is limited to bidirectional fiber trunks where Rayleigh Backscattering (RBS) can be controlled through power mitigation, signal modulation, or receiver architectures. Such measures are proposed in the context of PONs and LR-PON distribution trees [23,20,24]. ORM is integrated into the network’s power budgeting. Commercial coarse waveband separators with low insertion losses (below 0.6 dB) allow a sufficient number of WT devices (for the envisaged resilience application) to be inserted along the data path with manageable power losses. (See Section 5.3.) 3. Fault localization algorithm and notification delay 3.1. Real-time fault localization The method followed by the monitor for real-time detection and localization of a network fault operates in two stages. First, the loss of signal (LOS) emanating from any reflector is detected. Second, LOS events are translated into a unique localization of the failed segment. Fig. 5 shows the flow chart implemented at the RM and leading to an LOS alarm for any given reflector Ri in (a) CW and (b) pulsed operation. In both cases, after the delay si corresponding to the round time trip (RTT) between the monitor and Ri, reception of the encoded signal is initiated. In the CW case, the loss of the reflected power (Ri tone) results in an LOS alarm for Ri. In the pulsed case, the receiver synchronizes to the encoded signal which has a period of TM. The loss of a pulse results in an LOS alarm for Ri (LOSi). In both the CW and pulsed modes, a LOS alarm is raised if the received signal falls below a predetermined threshold, taking into account the combined effects of noise, crosstalk from data channels, and interference (CD-ORM). In both modes of operation, an optional verification process (indicated by a dashed rectangle) may be implemented in order to decrease the probability of false alarm.
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
1015
However, if the failure occurs at a splitting segment such as S22 ð3Þ; F is not a logical sub-tree (in our example, F ¼ fR31 ð1Þ; R32 ð1ÞgÞ. In this case, the FRN (still R22 ð2ÞÞ is not an element of F, and the failure is located at the segment downstream from it. Hence, once the FRN is determined, checking whether it belongs to F is sufficient to identify the position of the failure. The corresponding fault localization process is detailed in Algorithm 1. Algorithm 1. Real-Time Fault Localization.
Fig. 5. LOS detection algorithm.
In the CW case, this process may consist of a verification delay Tv to ensure that the Ri tone is effectively lost. In the pulsed case, an additional integer number of V monitoring periods may be sampled before LOSi is declared. If Pi is the probability of detecting no Ri pulse when one is present, the false alarm probability in the pulsed case would drop from Pi to P iVþ1 due to the verification process. The latter comes at the expense of a notification delay rise of Tv and VTM in the CW and pulsed cases, respectively. An example of an ORM network is shown in Fig. 6 (a). In this illustrative example, the tree is composed of three stages. Each stage is composed of a number of branches containing monitoring segments separated by reflectors. The monitoring segments are denoted Ssb ðiÞ, where s, b, and i represent the tree-stage, the branch, and the position of the monitored segment, respectively. The reflectors Rsb ðiÞ are identified similarly. A failure at any monitored segment Ssb ðiÞ of the ORM architecture of Fig. 6 (a) will block monitoring power from reaching the sub-tree with Ssb ðiÞ at its root. This results in LOS alarms emanating from all reflectors located within that sub-tree. For instance, a failure in segment S22 ð2Þ causes an LOS at reflectors R22 ð2Þ; R31 ð1Þ, and R32 ð1Þ to occur simultaneously. In order to identify the failed segment from a set of LOS alarms, it is useful to represent the ORM network as a logical multi-stage tree with the monitor as the root and the reflectors as the nodes, as shown in Fig. 6 (b). Assuming a single-failure, let F be the set of nodes that raise an LOS alarm. We define the Fault Root Node (FRN) as the farthest node from the root that is upstream from all the nodes in F. The FRN may belong to F. For localization purposes, two cases are distinguished: (1) If the failure occurs at a non-splitting segment (such as S22 ð2ÞÞ, then F is a sub-tree rooted at the FRN ðR22 ð2ÞÞ, the FRN is an element of F, and the failure is located at the segment upstream from it. (2)
Input: LOS alarm set F – {} Output: Failed segment S 1 Find the FRN Rsb ðiÞ of F 2 Select any R 2 F 3 while Upstream (R) 2 F do R Upstream(R) 4 R0 Upstream(R) 5 F0 Downstream(R0 ) 0 6 if F F and jF0 j > 1 // jj, cardinality R0 7 then Rsb ðiÞ 8 else Rsb ðiÞ R s 9 if Rb ðiÞ 2 F // the failure precedes Rsb ðiÞ 10 then S Ssb ðiÞ s // the failure follows Rsb ðiÞ 11 else S Sb ði þ 1Þ Algorithm 1 starts with the identification of the FRN Rsb ðiÞ (lines 1–8). To that end, it iterates to the reflector R of F nearest to the monitor (lines 2–3). R0 is then defined as the node upstream from R, denoted Upstream (R) (line 4), and F0 as the set of nodes downstream from R0 , denoted Downstream (R0 ) (line 5). If F0 contains other nodes than R that are elements of F (line 6), then the FRN is R0 (line 7). Otherwise, it is R (line 8). Finally, checking whether the FRN belongs to F reveals the failure position (lines 9–11), as described above. Note that in the context of graph theory and data structures, the ORM logical topology of Fig. 6 (b) is referred to as an acyclic connected graph, the FRN is the least (or nearest) common ancestor of the nodes of F,Upstream (R) denotes the parent of R, and Downstream (R) denotes its set of children. The fault localization algorithm above assumes that false alarms are avoided thanks to the verification process (see Fig. 5). Nevertheless, Algorithm 1 may be expanded to detect false alarms, namely by invalidating LOS events emanating upstream from responsive reflectors. Furthermore, the asymptotic worst-case run-time complexities of the while loop (line 3) as well as the vector comparison of line 6 grow
Fig. 6. Illustrative ORM network: (a) physical and (b) logical topology.
1016
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
linearly with the size n of F. Hence, Algorithm 1 has O(n) worstcase time complexity. 3.2. Notification delay We define notification delay as the time elapsed between a failure within the optical overlay and the localization of that failure at the RM of the optical NMS. To illustrate the delay components associated with fault notification, consider the simple ORM tree of Fig. 2. Fig. 7 (a) shows the received signals in both (a) CW and (b) pulsed mode of operation, when a failure of segment S2 occurs at time t = 0. The received tones and pulses are marked by an index i (from 1 to 5) that indicates that the signal was reflected from Ri. In a CW configuration (Fig. 7 (a)), since the monitoring signal is constantly present between reflectors and the monitor, the failure of S2 results in the loss of the signals from all downstream reflectors simultaneously. This loss appears at the RM after a delay of tf, where tf denotes the propagation delay taken by light to travel from the failure location to the RM. As mentioned in Section 3.1, fault notification requires minimal processing, including (1) verification of LOS events and (2) localization of the faulty segment. These operations must be carried out in sequence and are associated with the constant delays of Tv and Tloc (to be defined), yielding a CW notification delay of
dnCW ¼ t f þ T v þ T loc :
ð1Þ
Fig. 7 (b) illustrates the pulsed ORM mode, where signals from different reflectors take the form of pulses of duration Tr. Rather than the pulse-width, Tr accounts for the maximal pulse time-spread at the receiver due to dispersion and/or encoding (CD-ORM). In the pulsed mode, the localization process cannot start before an additional delay of TM + Tr to identify all missing pulses. In addition, the verification procedure incurs an additional delay of VTM (see Section 3.1). Therefore, the notification delay in pulsed mode is given by
dnP ¼ t f þ ðT M þ T r Þ þ V T M þ T loc :
ð2Þ
Since it corresponds to the speed of light along the shortest path from the failure location to the NMS, tf represents the lower notification delay bound that is approached when the various processing delays associated with verification and localization are minimized. 4. Synchronous ORM design In pulsed ORM, pulse-synchronous operation is defined as the control of the time position of reflected pulses at the RM. The time-alignment, or synchronization, of pulses is accomplished
through the implementation of DLs at the input of each reflector. The length of the individual DLs must be adjusted so as to control the time-domain overlap between the reflected pulses. In TD- and hybrid TD/WD-ORM, reflector DLs must be designed so that no overlap between reflected pulses occurs. In CD-ORM, we introduce controlled overlap between pulses so as to manage interference and maximize scalability. Two algorithms are proposed to compute DL lengths, and their performance is compared in terms of DL length statistics and network scalability in different PON and LRPON scenarios. 4.1. Problem statement The problem statement for the computation of distributed DLs may be formulated as follows: Given (1) the ORM network topology, expressed as a vector of initial RTT values T ¼ fsi gNi¼1 , where N is the total number of reflectors; (2) the monitoring period TM; and (3) the reflected pulse-width Tr. Find a set of DL lengths L ¼ f‘i gNi¼1 such that no pulse overlap occurs. Tr is defined in Section 3.2 as the total width of the reflected pulse at the RM, and satisfies Tp < Tr TM, where Tp is the source pulse-width. We further define D ¼ fdi gNi¼1 as the delay vector, where di = ‘i/co is the oneway delay applied at reflector Ri, and co = 2108 m/s is the speed of light in single-mode fiber. Henceforth, we assume N P 2. In pulsed ORM, pulses are transmitted from the monitor at times fn T M gn2Z . Under steady state operation, the arrival times of pulses reflected by reflector Ri take the form fsi þ nT M gn2Z . Let ci,j denote the time elapsed between the start of the Ri pulse and the start of the Rj pulse immediately preceding it. ci,j is the remainder of the Euclidean division of si sj by TM satisfying:
si sj ¼ qT M þ ci;j ; q 2 Z; and 0 6 ci;j < T M :
ð3Þ
We call ci,j the backward inter-arrival time of Rj relative to Ri. Fig. 8 illustrates the pulse inter-arrival times of Rj relative to Ri. In addition to the backward inter-arrival time ci,j, Fig. 8 shows the forward i;j of Rj relative to Ri, defined as the time elapsed inter-arrival time c between the start of the Ri pulse and the start of the Rj pulse immediately following it. For a reference reflector Ri, the elements of the backward and i;j gNj¼1 , forward inter-arrival time vectors Ci ¼ fci;j gNj¼1 and Ci ¼ fc respectively, are derived from the initial RTTs fsj gNj¼1 as follows:
ci;j ¼ ðsi sj Þ mod T M ; ci;j ¼ ðT M ci;j Þ mod T M ;
ð4Þ ð5Þ
where the mod operation satisfies the conditions of Eq. (3). It is clear from Fig. 8 that the condition for no overlap between any
Fig. 7. Received signal for failure scenario in (a) CW (b) pulsed ORM.
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
Fig. 8. Illustration of the forward and backward inter-arrival times of pulse j relative to pulse i.
two Ri and Rj pulses is Tr < ci,j < TM Tr, or, equivalently, i;j < T M T r . Tr < c The algorithms presented in this section make use of interarrival time vectors that are sorted in ascending order. For a given reference reflector Ri, the ordered backward inter-arrival time vector C0i is derived from Cias follows:
C0i ¼ fc0i;j gNj¼1 ¼ Pi Ci ; c0i;j P c0i;j1 ;
8j 2 ð2; NÞ;
ð6Þ
where Pi is the permutation matrix representing the sorting operation. Similarly, the ordered forward inter-arrival time vector C0i is related to Ci through the permutation matrix Pi :
n oN 0i;j 0i;j1 ; 0i;j P c C0i ¼ c ¼ Pi Ci ; c j¼1
8j 2 ð2; NÞ:
ð7Þ
Note that reversing the sorting of Eqs. (6) and (7) is done through matrix multiplication by the transpose of the permutation matrices PTi and PTi , respectively. In the following, we define two algorithms to achieve time-domain pulse separation through the calculation of distributed DL lengths. Algorithm 2. Minimal Pulse Shifting (MPS). Single iteration through ordered pulse inter-arrival times and computation of minimal forward shifts that remove detected pulse overlaps. Input: T; T M ; T r ; fCi gN i¼1 Output: D, L 1 2
D r
3 4 5
C0r
f0gN i¼1 i;j gg arg minf max fc i2ð1;NÞ
6 7 8 9 10 11 12
j2ð1;NÞ
¼ Pr Cr for j 2 to N do 0r;j c 0r;j1 < T r then if c 0r;j c 0r;j1 Þ T r ðc Min Shift dj
c0r;j
dj + (1/2)Min_ Shift c0r;j þ Min Shift
0r;N þ T r < T M then if c PTr D D L c0D else return// algorithm failed
4.2. Synchronous computation algorithms Minimal Pulse Shifting (MPS, Algorithm 2 shown below) assumes that the forward inter-arrival times with respect to all reflectors, fCi gNi¼1 , were pre-computed using Eq. (5). After initializing the delay vector D (line 1), it determines the index r of the pulse following the largest pulse inter-arrival time (line 2). MPS uses the beginning of the r pulse as a reference starting point of the monitoring period. All pulses following pulse r are to be forward-shifted by the minimal delay that removes pulse overlap without pulses running into the next monitoring period. The choice of r minimizes the likelihood of algorithm failure. For a i;j g, the maximal forward intergiven reflector index i; maxj2ð1;NÞ fc
1017
arrival time, represents the forward delay between pulse i and the last pulse within the monitoring period TM. Hence, r is defined as the pulse index yielding the smallest inter-pulse spread. MPS (line 2) sorts the forward inter-arrival times in ascending order, as detailed in Eq. (7). The for loop (line 4) tests for overlaps between each consecutive pair (j, j 1) of pulses (line 5). If an overlap is detected, the minimal shift Min_Shift of the latest pulse (pulse j) that is necessary to remove overlapping is calculated (line 6), dj is incremented with a corresponding delay (line 7), and the ordered inter-arrival time matrix is updated (line 8). Note that the 1/2 factor in (line 7) is because dj is a one-way delay increase whereas Min_Shift relates to the RTT values. MPS then restores in D the original entry order of Cr and T (line 10) and computes L once the success criterion is satisfied (line 9). The latter occurs when the 0r;N þ T r Þ not implemented pulse shifts result in a pulse spread ðc exceeding TM. The vector operations of lines 1, 2, 10, and 11 have an asymptotic worst-case run-time complexity that is linearly proportional to N, the total number of reflectors. However, the permutation of line 3 represents a more complex sorting operation. Although it typically has O(nlog(n)) complexity, the quicksort algorithm has O(n2) worst-case complexity [25]. Hence, assuming the use of quicksort, Algorithm 2 has O(n2) worst-case time complexity. MPS is an algorithm designed for sparse ORM networks (i.e., where TM NTr). Pulse Clustering with Controlled Overlap (PCCO, Algorithm 3 shown below) introduces a number of features adequate for dense ORM networks. First, PCCO is designed to systematically group the reflected pulses so as to produce a cluster of sequential pulses in each monitoring period. This feature is an important scalability asset since it maximizes the number of reflectors that can be provisioned in the ORM network. Second, PCCO introduces controlled time-domain overlap between consecutive pulses. We hence define the overlap factor X as the maximum allowable fraction of a given pulse that may superpose with adjacent pulses in the time-domain. In TD-ORM and hybrid TD/ WD-ORM, no overlap is allowed, i.e., X = 0. CD-ORM may, however, tolerate a measure of inter-pulse overlap where 0 < X < 1. Algorithm 3. Pulse Clustering with Controlled Overlap (PCCO). Single iteration through ordered pulse inter-arrival times and DL computation achieving pulse clustering with a fixed overlap factor. Input: T; T M ; T r ; fCi gN i¼1 ; X Output: D, L f0gN i¼1
1
D
2
r
3 4 5
C0r ¼ Pr :Cr for j 2 to N do c0r;j ðj 1Þð1 X=2ÞT r C Shift
P arg minf N j¼1 ci;j g i2ð1;NÞ
6 7 8
if C_Shift P 0 then dj dj + (1/2)C_ Shift c0r;j c0r;j C Shift
9 10 11 12 13
else for k dk for k
14 15
c0r;k D L
1 to j 1 do dk (1/2)C_ Shift j to N do c0r;k C Shift
PTr
D c0D
PCCO searches for the most adequate pulse to be the last within the projected cluster. The pulse r with the smallest sum of backward P inter-arrival times f Nj¼1 cr;j g minimizes the time-shifts required for
1018
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
following pulses within the monitoring period to form a cluster with it (line 2). PCCO proceeds to sort the backward inter-arrival times relative to pulse r in increasing order (line 3) and to iterate through the consecutive pulses (line 4) by first calculating the required shift C_Shift toward the cluster. For any pulse j, C_Shift represents the difference between its actual position with respect to rðc0r;j Þ and its required cluster position ((j 1)(1 X/2)Tr). If C_Shift is positive (line 6), only a forward-shift of pulse j, as in MPS, is required (see lines 7 & 8). On the other hand, a negative C_ Shift signals that a backward shift in time is required for pulse j relative to the whole cluster. That is accomplished by forward-shifting each pulse within the cluster by incrementing their delay (lines 10 & 11) and updating the inter-arrival time entries of all subsequent pulses that are not yet processed (lines 12 & 13). As opposed to MPS, the success of PCCO is independent from the initial RTT values and pulse positions, and requires only the monitoring period to be larger than the cluster length:
T M P N ð1 X=2ÞT r ;
ð8Þ
where (1 X/2)Tr is the contribution of each pulse to the cluster. As for Algorithm 2, the asymptotic run-time complexity of Algorithm 3 depends on the sorting operation of line 3. Assuming the use of quicksort [25], Algorithm 3 has O(n2) worst-case time complexity. 5. Numerical results 5.1. Synchronous ORM We start by studying a standard PON topology with a 10 km feeder segment and 16 distribution fibers having lengths uniformly distributed between 0 and 10 km. The monitor is located at the Optical Line Terminal (OLT), and N = 17 reflectors are placed at the termination of the feeder fiber and of each distribution fiber. Fig. 9 depicts the described architecture, where Ri and Di denote the reflector and delay line pair used at location i 2 [1, N]. Fig. 10 shows (a) the average (Lavg) and (b) the maximum (Lmax) distributed DL length computed through MPS and PCCO (X = 0). For illustrative purposes, the results are displayed for Tr ranging from 10 ps to 1 ls and TM = aNTr, where a 2 {1, 2, 5}. In our numerical results, each point represents 100 simulated network topologies. For the given Tr values, the DL lengths given by both algorithms range from mm to km values. We consider only practical DL length values lower than 10 m. For example, for a pulse-width Tr = 1 ns, MPS yields Lavg values from 1 cm to 10 cm and Lmax values less than 1 m, whereas PCCO yields Lavg values from 10 cm to 2 m and Lmax values less than 10 m. We observe that, as TM increases with increasing a, PCCO yields higher Lavg and Lmax values. This trend is reversed in MPS, where the derived Lavg and Lmax values decrease for higher TM. This is due to the different objectives of the two algorithms. Since PCCO clusters pulses together within each monitor-
Fig. 9. PON ORM architecture.
Fig. 10. (a) Mean (Lavg) and (b) maximum (Lmax) DL length in PON scenario for DL computation algorithms MPS and PCCO.
ing period, a larger TM necessitates larger time-shifts. On the other hand, MPS simply avoids overlaps. Since a larger TM implies a lower overlapping likelihood, smaller time-shifts are required. For large values of a, MPS yields significantly shorter average and maximum DLs than PCCO. For example, for a = 5, Lavg is two orders of magnitude lower in MPS than PCCO for all values of Tr. As TM reduces to NTr (a = 1), the monitoring period becomes saturated, and the time-shifts introduced by PCCO essentially perform the minimal pulse shifting function of MPS. Nevertheless, since MPS only performs forward time-shifts, its success rate decreases in dense ORM networks, as investigated next. Recall that MPS success corresponds to finding a set of minimal DL lengths that respects the boundaries of the monitoring period (Algorithm 2, line 9). Fig. 11 shows the MPS success rate as a function of Tr for different values of a. Since MPS performs no pulse clustering, it fails increasingly when TM approaches the theoretical upperbound of NTr(a = 1), where the monitoring period is fully saturated. At that point, the success rate is below 0.3. Conversely, from Eq. (8), PCCO with X = 0 is successful for all shown values of a, hence it is more appropriate for dense ORM networks. In our PON model, the worst-case notification delay dnmax is experienced by the reflector located at the end of the longest distribution fiber. Fig. 12 shows dnmax for two different values of the
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
Fig. 11. Success rate of MPS algorithm.
1019
distributed in the interval [5,200] (km). We assume the constant values Tr = 1 ns and TM = 1 ls. Fig. 13 shows the maximum length of the DLs (Lmax) as a function of the ORM network size N, where N ranges from 900 to 1350 reflectors. We plot Lmax for MPS and PCCO with different overlap factors X. As expected, MPS exhibits the lowest Lmax values (less than 6 m). For PCCO, we observe that larger overlap factors increase Lmax. That is because a larger overlap factor X means larger timeshifts are required to cluster pulses. As N increases, the utilization of the monitoring period increases and the ORM network becomes denser. As seen in the PON example, this results in increased Lmax values for MPS while they decrease for PCCO. While both MPS and PCCO/X = 0 fail when TM > NTr, PCCO with X > 0 is scalable to larger ORM networks (see Eq. (8)). Hence, for PCCO/X = 0.25 and PCCO/X = 0.5, the ORM network scales to N = 1140 and 1330 reflectors, respectively. It is important to note that, in PCCO, and for all overlap factors X, as the monitoring period approaches saturation with increasing ORM network size N, Lmax approaches the same lowerbound (around 6 m). It is important to reiterate that synchronous operation is not restricted to TD-ORM, and may be used as an enhancement to WDand CD-ORM. By permitting wavelength reuse, pulse-synchronous WD-ORM relieves the scalability limitations of WD-ORM with respect to spectral resources. Similarly, pulse-synchronous CD-ORM allows for code reuse and a deterministic control of MAI. 5.3. Power budgeting example
Fig. 12. Maximum notification delay ðdnmax Þ in PON.
verification constant V 2 {0, 2} (see Eq. (2)). We assume a constant localization delay of Tloc = 1 ls to be feasible using current highspeed electronics. Tr ranges from 1 ns to 1 ls. For low values of Tr, the propagation time to the failure point tf dominates dnmax , as expected from Eq. (2). A constant tf value near 100 ls corresponds to the maximum distance of 20 km between the monitor and the farthest reflector in our simulated PON. As Tr and TM increase logarithmically, the term (V + 1)TMbecomes significant in the expression of dnmax , which departs from tf. There is naturally no performance difference between MPS and PCCO since the DL lengths do not affect notification delay. Note that for values of Tr around 10 ns, the pulse rate seen by the monitor (100 Mb/s) is easy to process using existing technology. Even with a large monitoring period of TM = 5NTr and using LOS verification (V = 2), the worst-cast notification delay dnmax is close to the lowerbound of tf = 100 ls. Furthermore, such a sparse ORM network (a = 5) calls for the use of MPS with a 100% success rate (see Fig. 11) and a low average DL length of 10 cm (see Fig. 10 (a)).
For the remainder of this section, we illustrate briefly the feasibility of TD-ORM in a typical LR-PON setting from a power budgeting perspective. Fig. 14 depicts the studied LR-PON architecture. Based on the SuperPON architecture [2], our LR-PON runs bidirectional fiber from the OLT to 1024 ONUs located at a distance of 100 km. The first stage, from the OLT to the first 1:16 coupler, contains two 45 km fiber spans separated by a bidirectional Erbium Doped Fiber Amplifier (EDFA) module. The second stage, from the 1:16 to the 1:64 coupler, hosts a second EDFA module. The last stage, from the 1:64 coupler to the ONU, contains a 10 km distribution fiber. Seven interleaved reflector stages Ri are placed at the boundaries of each optical-layer device or fiber. All reflector stages except the last are equipped with WTs and parametric PSCs. Fig. 14 details the architecture of the WT-based reflector stages, indicating their splitting ratio parameter ai. The TD-ORM architecture of Fig. 14 hence accommodates a total of 2083 reflectors. The insertion losses at the WS, circulator, mirror, 1:16 coupler, and 1:64 coupler are assumed to be 1 dB, 0.5 dB, 0.1 dB, 12 dB, and 18 dB, respectively. Besides, fiber attenuation and EDFA gain are 0.2 dB/km and 30 dB, respectively. To determine the splitting ratios
5.2. Scalability In this part, we study the scalability of our design algorithms in a 200 km optical overlay. We model a generalized ORM network as a set of N reflectors, where N P 5. Two of the reflectors are located at 5 km and 200 km from the monitor. The distance between the remaining N 2 reflectors and the monitor is uniformly
Fig. 13. Maximum DL length (Lmax) for an ORM network of size N and reach 200 km. (Tr = 1 ns and TM = 1 ls).
1020
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021
Fig. 14. LR-PON ORM illustrative architecture.
ai, we use the following process: Starting at reflector stage R6, and at each reflector stage Ri, we equate the reflected monitoring power with the transient power reflected from the following reflector stage Ri+1 and exiting the WT upstream. The resulting linear equation yields the splitting ratio ai. It can thus be shown that for our architecture, the following splitting ratios ensure equal received power at the monitor: Reflector Stage i 1 2 3 4 5 6 7 Splitting Ratio ai (%) 47. 6 0. 181 2. 28 58. 7 0. 284 28. 5 100
Using the above parameters and splitting ratios, the losses seen by the monitoring signals received from all reflectors is equalized at 28.55 dB. The value of 28.55 dB represents loss seen by the farthest reflector, R7. Note that the losses of the monitoring signal reflected at the other reflector stages may be made lower. However, the above splitting ratios equalize them to the worst-case loss of 28.55 dB in order to simplify the receiver. Assuming a launch power of 0 dBm and a pre-amplified receiver with a minimum sensitivity of 33 dBm, the aforementioned configuration enables a system margin of 4.45 dB. Moreover, the ORM reflectors cause an additional (unidirectional) loss of only 6 dB for the data waveband. Such losses are within the power sensitivity range of existing receivers. 6. Conclusions This work presents a centralized optical-layer monitoring architecture capable of delivering fault notification to future accessmetro networks at light speed. Based on the tapping and reflection of a source signal at remote network locations, ORM is introduced in its time, wavelength, and code domains of operation. Fault localization algorithms and notification delay upperbounds are investigated for continuous-wave and pulsed variants of the system. In the pulsed case, synchronous algorithms are introduced to remove or control pulse-overlap at the receiver through delay lines placed at the remote reflectors. Our results show that light-speed fault notification is achievable for sparse ORM networks through a low-frequency received monitoring signal (100 Mb/s) and reasonable delay line lengths (cm range). This corresponds to the major envisioned application of accelerating automatic protection and restoration measures in optical overlays. This seminal work opens up several exciting research avenues. Due to space constraints, we chose to focus on system architecture, fault localization, and synchronous design algorithms. Although a Long-Reach PON power budgeting example is provided, future investigation must address thoroughly the practical issues of power budgeting, amplification, and noise mitigation, in the context of specific resilience targets. The above issues underscore the complexity-performance tradeoff ORM brings to the optical layer. As the much needed resilience applications are developed
for access-metro optical networks, the optimal fault detection and notification speeds realized by ORM may well outweigh the added optical layer complexity. ORM applies to a wide range of optical overlay topologies, including not only PONs and LR-PONs, but also point-to-point links, all-optical mesh networks with wavelength/waveband bypass capabilities, as well as dual-fiber rings. It enables fault detection, localization, and notification, all in the optical domain. In doing so, it forms the optical-layer equivalent of a number of carrier Ethernet service-layer Operation, Administration and Maintenance (OAM) functions such as Continuity Check (CC), Loopback (LB), and Linktrace (LT).
References [1] D. Shea, J. Mitchell, Long-reach optical access technologies, IEEE Network 21 (5) (2007) 5–11. [2] I. Van de Voorde, C.M. Martin, I. Vandewege, X.Z. Oiu, The superPON demonstrator: an exploration of possible evolution paths for optical access networks, IEEE Communications Magazine 38 (2) (2000) 74–82. [3] M. Maier, M. Herzog, M. Reisslein, STARGATE: the next evolutionary step toward unleashing the potential of WDM EPONs, IEEE Communications Magazine 45 (5) (2007) 50–56. [4] M. Medard, S. Lumetta, Network reliability and fault tolerance, in: J. Proakis (Ed.), Wiley Encyclopedia of Engineering, Wiley, New York, 2003. [5] J. Lang, J. Drake, Mesh network resiliency using GMPLS, Proceedings of the IEEE 90 (9) (2002) 1559–1564. [6] D. Papadimitriou, E. Mannie, Analysis of generalized multi-protocol label switching (GMPLS)-based recovery mechanisms (including protection and restoration), IETF, RFC 4428, March 2006. [7] S. Okamoto, Photonic transport network architecture and OAM technologies to create large-scale robust networks, IEEE Journal on Selected Areas in Communications 16 (7) (1998) 995–1007. [8] K. Yuksel, V. Moeyaert, M. Wuilpart, P. Mégret, Optical layer monitoring in passive optical networks (PONs): A review, in: Proceedings of ICTON 2008, Athens, Greece, June 2008. [9] F. Caviglia, V.C. Biase, A. Gnazzo, Optical maintenance in PONs, Optical Fiber Technology 5 (4) (1999) 349–362. [10] D. Anderson, L. Johnson, F.G. Bell, Troubleshooting Optical Fiber Networks: Understanding and Using Optical Time-Domain Reflectometers, Academic Press, 2004. [11] C.F. Lam, Passive Optical Networks: Principles and Practices, Academic Press, 2007. [12] W. Chen, B. De Mulder, J. Vandewege, X.Z. Qiu, Embedded OTDR monitoring of the fiber plant behind the PON power splitter, in: Proceedings of IEEE Symposium on Laser and Electo-Optics Scociety (LEOS), Eindhoven, Netherland, November 2006. [13] N. Honda, D. Iida, H. Izumita, Y. Azuma, In-service line monitoring system in PONs using 1650nm Brillouin OTDR and fibers with individually assigned BFSs, IEEE/OSA Journal of Lightwave Technology 27 (20) (2009) 4575–4582. [14] H. Fathallah, L.A. Rusch, Network management solution for PS/PON, WDM/ PON and hybrid PS/WDM/PON using DS-OCDM, in: Proceedings of OSA OFC/ NFOEC, Anaheim, CA, USA, March 2007. [15] H. Fathallah, L.A. Rusch, Code-division multiplexing for in-service out-of-band monitoring of live FTTH-PONs, OSA Journal of Optical Networking 6 (7) (2007) 819–829. [16] M. Rad, H. Fathallah, L.A. Rusch, Fiber fault PON monitoring using optical coding: effects of customer geographic distribution, IEEE Transactions on Communications 58 (4) (2010) 1172–1181. [17] M. Rad, H. Fathallah, L.A. Rusch, Performance analysis of fiber fault PON monitoring using optical coding: SNR, SNIR, and false-alarm probability, IEEE Transactions on Communications 58 (4) (2010) 1182–1192.
K. Fouli et al. / Computer Communications 34 (2011) 1011–1021 [18] T. Koonen, Fiber to the home/fiber to the premises: what, where, and when?, Proceedings of the IEEE 94 (5) (2006) 911–934. [19] W. Zhang, G. Xue, J. Tang, K. Thulasiraman, Faster algorithms for construction of recovery trees enhancing QoP and QoS, IEEE/ACM Transactions on Networking 16 (3) (2008) 642–655. [20] G.-K. Chang, A. Chowdhury, Z. Jia, H.-C. Chien, M.-F. Huang, J. Yu, G. Ellinas, Key technologies of WDM-PON for future converged optical broadband access networks, Journal of Optical Communications and Networking 1 (4) (2009) C35–C50. [21] K. Fouli, M. Maier, OCDMA and optical coding: principles, applications, and challenges, IEEE Communications Magazine 45 (8) (2007) 27–34.
1021
[22] J.B. Rosas-Fernandez, S. Ayotte, L.A. Rusch, S. LaRochelle, Ultrafast forwarding architecture using a single optical processor for multiple SAC-label recognition based on FWM, IEEE Journal of Selected Topics in Quantum Electronics 14 (3) (2008) 868–878. [23] C. Arellano, K.-D. Langer, J. Prat, Reflections and multiple rayleigh backscattering in WDM single-fiber loopback access networks, IEEE Journal of Lightwave Technology 27 (1) (2009) 12–18. [24] G. Talli, P.D. Townsend, Hybrid DWDM-TDM long-reach PON for nextgeneration optical access, IEEE Journal of Lightwave Technology 24 (7) (2006) 2827–2834. [25] C.A.R. Hoare, Quicksort, Computer Journal 5 (1) (1962) 10–15.