Вы находитесь на странице: 1из 129

Facolt di INGEGNERIA

Corso di Laurea in

Ingegneria delle Telecomunicazioni


Tesi di Laurea Specialistica

Realization of an unbundling system for an ultra-broadband access network based on WDM-PON

Laureando:

Relatore:

Aleksandar Mijuskovic Marco Listanti


Matricola: Correlatore: 1013177

Prof.

Dott.Ing. Luca Baldini

a.a.2009/2010

Table of content

TABLE OF CONTENT.....................................................................4 ABSTRACT........................................................7 INTRODUCTION..........................................................................10 NEXT-GENERATION OPTICAL ACCESS (NGOA) NETWORK...............11 DRIVERS..................................................................................................... 11 Technology drivers............................................................................... 11 Commercial drivers.............................................................................. 15 NETWORK ARCHITECTURE............................................................................... 18 TECHNOLOGIES FOR NGOA NETWORKS............................................................22 Point-to-point FTTH............................................................................... 25 TDM - PON............................................................................................ 26 WDM PON........................................................................................... 28
WDM PON reasons for deployment...................................................30 WDM-PON challenges.......................................................................33

OPEN ACCESS ARCHITECTURE.....................................................36 GPON UNBUNDLING..................................................................................... 38 STACKED GPON UNBUNDLING........................................................................39 POINT-TO-POINT UNBUNDLING.........................................................................41 WDM-PON UNBUNDLING.............................................................................. 42 PROPOSED NETWORK ARCHITECTURE FOR OPEN NGOA................45 SWITCHING ARCHITECTURE AND TECHNOLOGIES.........................49 LAYER 1 UNBUNDLING SOLUTION.....................................................................53 SPECIALIZED CLOS SWITCHING NETWORK..........................................................54 SWITCHING NETWORK RECONFIGURATION ALGORITHM..........................................58

HEAD-END NODE ARCHITECTURE.....................................................................67 DEMONSTRATOR OF A SOLUTION FOR WDM-PON UNBUNDLING....72 DEMONSTRATOR HARDWARE DESCRIPTION.........................................................77 Hardware interconnection ...................................................................78 CONTROL PLANE SOFTWARE............................................................................81 Software description............................................................................. 81 Control Software................................................................................... 82 Management Interface.........................................................................83 Monitoring Interface............................................................................. 84 SOFTWARE ARCHITECTURE.............................................................................. 85 Use case view....................................................................................... 85
UC1: Create User-Operator Table.....................................................87 UC2: Add User..................................................................................89 UC3: Unbundling..............................................................................90 UC4: Remove User............................................................................91 UC5: Load Initial Configuration.........................................................92

Software Structure............................................................................... 93
Software Modules.............................................................................93 Software Communication ................................................................95

Data Structure...................................................................................... 95
Algorithm Module Data Structure.....................................................95 Hardware Control Module Data Structure.........................................97 Low Level Adaptation Data Structure...............................................99

Use Case Realization Sequence Diagrams.........................................99


Create User-Operator Table Sequence Diagram...............................99 Add User Sequence Diagram..........................................................100

Unbundling Sequence Diagram......................................................101 Remove User Sequence Diagram...................................................102 Load Initial Configuration Sequence Diagram................................103

APPENDIX A1...........................................................................105 TABLE OF FIGURES...................................................................124 REFERENCES............................................................................127

Abstract

Abstract
Openness is becoming more and more an important requirement for the access networks. Since the Wavelength Division Multiplexing Passive Optical Network is widely believed to be the winning technology for Next Generation Optical Access network, a future-proof unbundling solution based on WDM-PON is proposed in co-operation with Ericsson Research. Such network solution supports a symmetrical bandwidth up to 10Gb/s to each connected user and allows to direct the traffic of each user to the chosen operator, which on users request can be changed (unbundling operation). To prove the concept of the proposed solution, a demonstrator that emulates the real-world scenario is developed. The Ericssons proposed solution is based on the innovative electrical switching matrix which segregates the users traffic to the chosen operator. The switching matrix, based on modified Clos switching network, has to be rearranged every time a users request arrives. To achieve the proper rearrangement of the switching matrix, the control software has been developed to run the Ericsson proprietary algorithm, ensuring the maximum segregation among the connection paths of different operators. The software supports adding and removing the users connections as well as the unbundling of the users connection from one operator to another. Two Graphical User Interfaces are also developed for the extern interaction. Management GUI is meant to be used by the entity in charge of the head-end node and through it the control software receives the inputs. Monitoring GUI, on the other hand, displays the switching matrix connection states and visually strengthens the concept of the solution applied to the demonstrator. All the developed software is integrated with the

Abstract hardware parts of the demonstrator, and in testing scenario is proving the validity of the proposed unbundling solution. ____________________________ Lapertura della rete sta diventando sempre di pi un requisito importante della rete daccesso. E opinione diffusa che Waveleght Division Multiplexing Passive Optical Network sar la tecnologia vincente per le reti Next Generation Optical Access, e quindi la soluzione per lunbundling per WDM-PON a prova di futuro proposta in co-operazione con Ericsson Research. Tale soluzione di rete supporta una banda simmetrica fino a 10Gb/s per ogni utente connesso e permette di convogliare il traffico di ogni utente alloperatore scelto, il quale pu essere cambiato su richiesta dellutente (operazione di unbundling). Per dimostrare il concetto della soluzione proposta, stato sviluppato un dimostratore che emula uno scenario reale. La soluzione proposta da Ericsson si basa su una matrice di commutazione innovativa che opera la seggregazione del traffico dai utenti verso gli operatori richiesti. La matrice di commutazione, basata su rete di Clos modificata, deve essere riarrangiata ogni volta che arriva una richiesta da parte del utente. Per realizzare il riarrangiamento della matrice, un software di controllo, che usa lalgoritmo proprietario della Ericsson, stato sviluppato, assicurando la massima seggregazione tra le connessioni di operatori diversi. Lo software supporta laggiunta e la rimozione delle nuove connesioni dutente, cosi come lo spostamento del utente da unoperatore allaltro (unbundling). Per la interazione con esterno, due interfacce grafiche sono state sviluppate. Linterfaccia di gestione usata da chi deve gestire il head-end, e attraverso essa i dati necessari sono inseriti nel software di controllo. Linterfaccia di monitoraggio, invece, consente di visualizzare i stati delle

Abstract connessioni della matrice di commutazione, e di rinforzare il concetto della soluzione applicata al dimostratore. Il software sviluppato integrato con il hardware del dimostratore, e nei scenari di test sta dimostrando la validit della soluzione proposta.

Introduction

Introduction
The access network is the most sensitive part of the telecommunication network from the subscriber point of view. The recent growth of various services offered to the users is pushing the existing access network to bandwidth limits. Services like HDTV, video-on-demand, online gaming, content sharing, and mobile internet are pushing the providers to offer more bandwidth. Users are becoming increasingly interactive. Not only they consume more traffic but they also contribute and share their own content that requires powerful upload. To fulfill these bandwidth requirements, new access

technologies are needed. Already, the networks based on optical fiber are increasingly developed. Various optical access technologies are proposed, with their advantages and disadvantages that will be discussed more in detail. Among the bandwidth, other requirements are driving the development of the next generation access network. One of the main requirements is the network openness. Ericsson, as a world-leading provider of telecommunication equipment is proposing different solutions. In this document, their solution for an open ultra-broadband optical access network based on WDM-PON technology is introduced. The core of this work is the contribution in realization of the demonstrator of the proposed solution. The contribution consists in specific software realization and implementation.

Next-generation optical access network

Next-generation optical access (NGOA) network


Drivers
Delivering ultra-broadband services require higher bandwidths and defined QoS. By deploying fiber deeper into the access network, service providers can satisfy these two requirements. Here, we will discuss the development of next-generation optical access (NGOA) network architectures and its evolution from several points of view and analyze the principal drivers that power this evolution. Technology drivers Increase in consumer bandwidth demand, need for fiber investments in local loops, need for scalable networks, cost efficiency, need to open the access network, and the growth of wireless broadband are some of the key technology drivers. The market evolves to a continuous increase of bandwidth demand by broadband subscribers and the need to a flexible access technology to address this trend. Due to streaming of high quality videos and applications like file and content sharing, IPTV, online gaming, the data traffic on the network is sky rocketing. The bandwidth demand of the consumers always seems to catch up with the access networks capabilities of service providers. Even with increasing bandwidth per wavelength, todays time division multiplexing passive optical network (TDM-PON) technologies cannot offer cost effective and user bandwidths greater than 100Mb/s. New

Next-generation optical access network technologies that increase the bandwidth potential of the fiber are to be sought. With application like tele-presence, cloud computing and hosted services, the bandwidth demands of telecom providers enterprise clients is also exploding. Todays highly dynamic telecommunications market demands highly scalable technologies. Network architectures have to focus on flexibility, ease of deployment, elimination of overlay and integration of multiple services, convergence and support for different networks onto the same infrastructure, bandwidth upgradeability, increased split ratio. The requirement of network openness (local loop unbundling) for which the solution is proposed in this work is also one of the principal drivers of the access network evolution to the next generation access networks. In open markets there is a requirement that a subscriber should be able to choose an operator to provide their communications service (Local Loop Unbundling). Typically one incumbent operator (the former PTT) is the owner of the great majority of the fixed access and Other Licensed Operators (OLOs) should rely on the incumbent network to reach their subscribers. The unbundling solution should allow an open access network, with no barriers for new operators (OLOs) or for users that want to switch operator. The access network should enhance distance reach. Todays gigabit capable passive optic network (GPON) system allow for 20km reach. A very good improvement when compared to deployed Xdigital subscriber line (DSL) technologies but still not suitable for future needs of central offices consolidation as many operators are seeking. The number of central offices (COs) can be reduced (node consolidation) due to presence of the intermediate distribution node.

12

Next-generation optical access network Moreover long hauls are also possible with benefits in terms of equipment aggregation in bigger central offices or for serving low density areas. Providers can use one technology to go from their core networks to their metro and access networks obtaining convergence between metro and access networks. Deployments of wireless technologies such as 3G, 3.5G and WIMAX are causing a surge in the data traffic for wireless operators. Future deployments of LTE will increase the pressure of data traffic on wireless providers' networks. New always online smart phones are encouraging subscribers to increase their bandwidth appetites. Many of the wireless networks deployed today are not ready to cope with this huge and fast increase in data traffic and providers will have to overhaul their backhaul networks with substantial investments to keep their networks from clogging, and to keep up with consumer bandwidth demand. Technology has to evolve to a solution that offers wireless network providers a robust backhaul network. Pushed by the government initiatives to some extent, fixed network service providers in the developed markets are deploying high speed fiber networks in the local loops. Even in emerging markets fiber is being deployed to some extent in the urban areas. Due to the decreasing subscriber average revenue per user (ARPU) trend, service providers need to engineer their fiber access network cost. Todays telecommunication providers are very hesitant to deploy proprietary technologies and demand standardized and interoperable equipment. In Figure 1, is presented a summary of

13

Next-generation optical access network how different standardization bodies see the evolution of optical access technologies for different market segments.

Slide title 32 pt

Fiber ac c ess evo l u t io n


2009 2010 2011 2012 2013 2014
Residential Access IEEE EPON 10G EPON 10/1 FSAN/ITU-T GPON 10GPON 10/2.5 Enterprise/Backhaul FSAN/ITU-T 10G EPON 10/10 10GPON 10/10

Text 24 pt Bullets level 2-5 20 pt


!"# $% &'()*+ ,./01 23456789:;< = > ?@ ABCD EFGHIJ KLM NOPQRSTUVW XYZ[\]^ _`a bcdef gh ij kl m n o pqr s t u v w xyz{ |} ~

ti en sid Re

s ce ac al

WDM-PON

Enterprise/backhauling

Residential/Enterprise Point-to-point, 100M Point-to-point, 1G Point-to-point, 10G

IEEE

Do not add objects or text in the footer area


Ericsson Research Pisa | Ericsson Internal | November 25th 2 009

FIGURE 1. Evolution of optical access technologies for different market segments

Falling ARPU in markets across the globe is making it increasingly difficult for service providers to justify business cases for fibre investments in local loop. Many markets have required stimulation and direct injection of funds from the government for fibre to the home (FTTH) and fibre to the building (FTTB) networks to be built. The potential return of the investment is even more challenging in emerging markets where consumer broadband ARPUs are typically less than $20. Widespread wavelength division multiplexing PON (WDM-PON) rollouts will require aggressive FTTH and FTTB deployment strategies by service providers. Operators in some developed markets have done significant deployments of FTTH and FTTB using TDM PON technologies. Examples include Verizon and AT&T in the USA, HKBN in Hong Kong, NTT in Japan, Korea Telecom in South Korea and Chunghwa Telecom in Taiwan. Upgrades to WDM

14

Next-generation optical access network PON by these operators are expected to be slow as they would like to maximize the return on their TDM PON investments. After technology maturity, WDM PON will be more relevant for green-field local access fibre investments. In emerging markets (e.g. China) the cost of fibre deployment is not as high as in mature markets due to the cheaper labour cost. Such markets are much more sensitive to equipment costs. Commercial drivers According to Infonetics, there are four overall fibre broadband trends that drive the growth of PON worldwide: Government subsidization and other national initiatives to support deep fibre access. Government incentives for broadband service providers in South Korea and Japan push fiber deeper and deeper into the network. In Japan the government encouraged the incumbents to make FTTH network investments. These investments are toward right-of-way guarantees for competitive providers to easements, ducts and poles, as well as obligation for incumbents to unbundle their dark fiber trunks. In China the government is pushing operators to speed up the deployment of next generation internet and broadband fiber access networks. In this manner, China Telecom and China Univom have committed to Ethernet PON (EPON) (initially) and GPON (later on) deployments for 2010 and beginning of 2011. The Ministry of Information Industry in China has been pushing to continue expanding fixed broadband access in the context of allowing all operators to offer bundles fixed and mobile services. Other countries like New Zealand, USA, Australia,

15

Next-generation optical access network Singapore, Portugal and Switzerland have current national broadband initiative to increase the deployment of fiber. In the cases of Singapore, New Zealand and Australia, the subsidized networks will be open access. The continued increasing demand by subscribers bandwidth, driven by video, peer-to-peer applications and online gaming. A growing number of service providers are becoming convinced that FTTH is the only way they can continue to supply the applications that digital homes will demand over time. Fiber allows for elimination of distance problems (found for DSL technologies) and delivering symmetrical bandwidth to the customer, required by new peer-to-peer and online gaming applications. The drive by operators to use fiber to reduce the long-term operational costs of maintaining legacy copper-based services (including TDM voice over DSL) and operators continued move to IP and Ethernet-based services. By driving fiber deeper and deeper into the network, a unification of the network will occur, i.e., TDM voice and analog video will be substituted by VoIP and IPTV. OPEX and bandwidth issues of DSL terminated networks are pushing some Chinese operators to use FTTH with plastic optical fiber in buildings in order to comply with governments stated goal of 10 Mbit/s downstream links to everybody. Cable operators deploying fiber to compete with telcos. Several cable operators are investing in PON FTTH architecture using RFoG, EPON, DePON (DOCSIS over EPON) and GPON to

16

Next-generation optical access network compete against telecommunication operators deploying FTTH networks. Cable operators are also interested in using PON technologies split to virtually and physically their service nodes to increase the amount of available bandwidth to reach subscribers. Figure 2 shows the revenues forecast of six different PON technologies. According to their research GPON is the nearest future choice of operators with very shy debut of WDM-PON towards year 2013.

FIGURE 2. Revenue forecast for PON technologies.

17

Next-generation optical access network

Network architecture
The conventional access network infrastructures, namely the twisted-pair telephony networks and the coaxial cable CATV networks, are having hard time to keep up with the traffic demands required by a nowadays customers. Digital subscriber line techniques (ADSL, VDSL, etc.) and cable modem techniques are evolving into higher speeds, but at the cost of a shorter reach, which is against the operators trend to node consolidation. Contrary to network scenarios where the last drop is copper based, fiber based last mile scenarios offer more solutions and are more flexible in terms of distances. As an example, consider the ADSL2+ reach for a performance of 24 Mbit/s, 2 km and the reach of VDSL2 for 100Mbit/s, 500 m. This leaves us with two possibilities, customers within the ADSL2+ radius and customers within the VDSL2 radius. If we consider a future development towards higher rates, 4 th generation broadband (4GBB), then the DSLAM has to be located even closer to the end customer. Alternatively, last drop fibre infrastructures all the way to the customer end, as FTTH, can be deployed with different technologies GPON, EPON, point-to-point (P2P), and WDMPON. Distances here span from < 20 km (GPON typical distance) 80 km (demonstrated WDMPON distance by Ericsson). Looking into the future, cost prohibited core technologies like 10 GPON, 10G EPON, and dense (D) WDM PON are possible candidates to deliver higher bandwidth to the customer. The unique properties of optical single-mode fiber, being its low loss and extremely wide inherent bandwidth, make it the ideal candidate to meet the capacity challenges for now and for the foreseeable future. Single-mode fiber has already been adopted as the workhorse in core and metropolitan networks, and is increasingly

18

Next-generation optical access network penetrating the access domain as well. The cost of digging and ducting are the major cost items in access networks, outweighing by far the cost of the transmission medium and the line terminating equipment. Civil works typically may take some 75-85% of the fiber to the home first installed network costs, while the fiber cable and the optical components take only 3-5%; the remainder is taken by other hardware, installation activities and other services. Hence, in green-field situation, the costs of introducing FTTH may not differ much from twisted copper pair access solution. Moreover, the costs of fiber-optic line-terminating transceivers are coming down rapidly. FTTHs operational costs may be lower, as it needs less active equipment in the field which needs maintenance. According to the point to which the optic fiber is deployed, there are several architecture definitions: FTTH Fiber To The Home FTTB Fiber To The Building FTTC Fiber To The Curb FTTN/Cab Fiber To The Node/Cabinet

19

Next-generation optical access network

FIGURE 3 FTTX architectures

A fiber link can basically handle any kind of access traffic, so installing fiber is insurance for the future. Hence, in many green-field situations, single-mode fiber is being installed up to the home. For upgrading existing copper networks, however, the situation is less clear. To reap the maximum return on the investments made before in these networks, much effort is spent in introducing more advanced copper line techniques in the last link to the end user. Also, fixed wireless access solutions bridging wirelessly the gap to the end user are considered. However, the decreased range of these solutions often necessitates a further penetration of fiber in the access feeder links, leading to hybrid fiber access networks with decreasing length of copper lines to the homes. In FTTC networks, the fiber may run up to a street cabinet, from where on an ADSL line on twisted copper pairs (or VDSL line in shorter links) goes to the home. Basically, three architectures may be deployed for the fiber access network:

20

Next-generation optical access network Point-to-point architecture, where the individual fibers run from the local exchange to each home. Many fibers are needed, which entails high first installation costs, but also provides the ultimate capacity, security and the most flexibility to upgrade services for customers individually. In the local exchange, as many fiber terminals are needed as there are homes, so floor space and powering may become issues. Active star architecture, where a single fiber carries all traffic to an active node close to the end users, from where individual fibers run to each cabinet/home/building. Only a single feeder is needed, and a number of short branching fibers to the end users, which reduces costs; but the active node needs powering and maintenance which on other hand expands the costs. It also needs to withstand a wider range of temperatures than indoor equipment. Passive star architecture, in which the active node of the active star architecture is replaced by a passive optical power splitter/combiner that feeds the individual short branching fibers to the end users. In addition to the reduced installation costs of the single fiber feeder link, the completely passive nature of the outside plant avoids the costs of powering and maintaining active equipment in the field. This topology has therefore become a very popular one for introduction of optical fiber into access networks, and is widely known as the passive optical network (PON). There are different techniques developed on passive optical network architecture which basically

21

Next-generation optical access network differ in deployed multiple access technique. Therefore, there are technologies widely used like GPON or EPON based on time division multiple access and technologies like WDM-PON based on wavelength division multiple access. These technologies will be discussed more in details later on. The architectures that are having major success and

deployment are the ones based on passive optical network. Today FTTB and FTTH access networks are widely based on PON. The primary reasons for the choice of PON are its cost effectiveness (lower) due to the efficient use of the fiber and the fact that the equipment placed outside the central office is passive and does not consume electricity. GPON and EPON have become the most widely deployed technologies for the FTTH and FTTB. However, recently the interest in WDM-PON has grown

significantly and it is widely believed to be the route towards the next generation of PONs. WDM-PON has significant potential when the next wave of fiber deployments comes.

Technologies for NGOA networks


Here, well discuss the technologies that are mostly suitable to be deployed in the next generation optical access networks, putting the accent on WDM-PON, which, in this thesis is individuated as a most interesting technology for the future requirements of bandwidth, openness, transparency and scalability. Access networks are significantly different from core and longhaul transmission networks. Links are dedicated to single user,

22

Next-generation optical access network distances between aggregation points are shorter and require lower capacity. Over the last decade, researchers have been working on solutions for core and long-haul networks that allow transmissions over 160 channels at 10 Gbit/s or 40 Gbit/s and that cover distances of more than 4000 km, using a single fibre. Because of the different nature of access and core networks, the already existent technology cannot be directly applied to the access networks and we have to adapt the solution so the operational expenses (OPEX) and capital expenses (CAPEX) are feasible. The broadband access architecture based on optical fibre comprises two architectures. Point to point or active architecture, and point to multipoint or passive architecture (see Figure 4).

FIGURE 4. Passive and active optical networks

Different

actors

are

driving

PON

and

Ethernet

FTTH

deployments. We find service providers that aim to compete with cable and satellite providers for video customers, content providers that offer on-demand broadband video services which require large

23

Next-generation optical access network bandwidth at home, residential and commercial developers searching to offer more and high tech services than their competitors and finally, the municipalities wanting to attract new jobs. Nowadays broadband penetration in Europe is widely based on PON. The primary reasons for the choice of PON have been its cost effectiveness due to the efficient use of the fibre, and the equipment placed outside the central office is passive and does not consume electricity. GPON and EPON have become the most widely deployed technologies for FTTH and FTTB, and are based on Time Division Multiplex (TDM). GPON is gaining significant attention especially in the emerging markets. Japan, which was the first market to launch FTTB service back in 1999 has deployed mainly EPON technology. In South Korea the two service providers Korea telecom (KT) and Hanaro Telecom have both GPON and EPON deployments. KT has a small deployment of WDM PON as well. HKBN in Hong Kong, which was one of the first operators in the world to offer a speed of 1 Gbit/s to their consumer broadband subscribers, deployed its FTTH service based on GPON. In the USA, Verizon is deploying residential fibre optic using GPON. The Indian operator Bharat Sanchar Nigam Limited (BSNL) plans to roll out GPON in 25 cities by 2012. China Telecom has also started GPON trials.

24

Next-generation optical access network Point-to-point FTTH

FIGURE 5 Point-to-point FTTH

Point-to-point (P2P, also known as Active Fiber) is the simplest of three FTTH fundamental architectures, here proposed. With pointto-point network architecture, a fiber is installed from each subscribers home directly into the Central Office serving that subscriber. This architecture has advantage of simplicity, but it does require terminating lots of fiber cables in the Central Office. The Central Office contains a high port aggregation device (one port per subscriber) known as Optical Line Terminal (OLT) while an Optical Network Terminal (ONT) is installed on the side of the subscriber. Point-to-point has an advantage that no port is shared in any way, thus troubleshooting problems on the network is greatly simplified, because, problems can be easily isolated. Additionally, this architecture has the highest bandwidth potential since there is no sharing of bandwidth at all. Disadvantage of this technology is the large number of fibers throughout the network, more space required for the terminating equipment in the Central Office, more electricity consumption which is traduced in bigger overall costs. To connect

25

Next-generation optical access network approximately 30 thousand subscribers, the CO needs 5 racks to terminate optic fiber, comparing to only 5% of one rack with the PON architecture. For P2P links with 1Gbit/s symmetrical service maximum distances of 30 km can be achieved with class B optics.

TDM - PON TDM architecture based in PON a technologies single are based is on a shared among

which

wavelength

shared

subscribers. There is an Optical Network Terminal (ONT) at the end of each fiber located in the home or building of the subscriber and a broadcast scheme is used for downstream data. In downstream, OLT in the central office is broadcasting all the traffic. Splitter then splits the optical power to all branches equally, and all users ONTs receive the same data. It is the users ONT that brings out only the data destined to the specific user.

FIGURE 6. Passive optical network based on TDM - Downlink

For the upstream, each ONT has a time slot in which to communicate with the optical line termination unit (OLT) at the central office. The upstream packets from the ONT are timeinterleaved at the power splitting point, which requires careful

26

Next-generation optical access network synchronization of the packet transmission instants at the ONTs. This synchronization is achieved by means of grants sent from the local exchange, which instruct the ONTs when to send a packet. The correct timing of these submissions is achieved by ranging protocols, which sense the distance from each ONT to the local exchange. In the OLT at the local exchange, a burst mode receiver is needed which can synchronize quickly to packets coming from different ONTs, and which also can handle the different amplitude levels of the packets due to differences in the path loss experienced. As the ONTs are sharing jointly the capacity of the OLT, the average capacity per user decreases when the number of users grows.

FIGURE 7. Passive optical network based on TDM - Uplink

As

already

mentioned,

GPON

(Gigabit

PON)

and

EPON

(Ethernet PON) have become most widely deployed technologies for FTTH and FTTB. GPON and EPON are standards based on Time Division Multiplex (TDM) over a point to multipoint PON. Today GPON has a max reach of 20 km, a max split of 128 users, and a downstream bandwidth of 2.5 Gbit/s. Note that the max reach and the max split can not be achieved in the same PON. In GPON the optical budget is standardized at 28 dB for a class B+ optics. This limits the amount of fibre rolled out and number of

27

Next-generation optical access network optical elements we can place in the network. The maximum OLTONU distance is 20km for a 1:16 split ratio. The same applies for EPON, maximum OLT- optical network unit (ONU) distances are 10 and 20 km for 1:16 split ratio. Note that the lack of optical elements along the path increases the reach.

WDM PON Recently the interest in WDM-PONs has grown significantly, especially in Asia, and it is widely believed to be the route towards the next generation of PONs.

FIGURE 8. WDM PON deployment

WDM PON adds multiple wavelengths in the fiber to increase capacity in the access technology system. Although, it is physically similar to TDM based PON technologies, logically it follows a point to point scheme. Each ONT at the subscriber has a dedicated wavelength and there is no time sharing of bandwidth. The limit to the bandwidth that the user can receive depends on what the wavelength can carry. The splitter in TDM PON systems is replaced

28

Next-generation optical access network by an arrayed waveguide grating (AWG) which routes each

wavelength to its destination ONT. Unlike TDM PON system, a subscriber gets only the information destined for it. WDM PON has the promise of improving the metrics of bandwidth, split ratio and reach over traditional PON technologies. The technology challenge for WDM-PON has been to avoid the need for expensive wavelength selective optical components in each end-users optical network unit (ONU). In practice this means that it is cost prohibitive to use the type of lasers currently available for long haul dense WDM (DWDM) transmission within a WDM-PON. Moreover, it would be impractical for each customers terminal to be built with a fixed single wavelength laser because managing the inventory of lasers would be complex and costly for the network operator. For the customers ONU to be colourless, either a tunable laser is required, or an alternative WDM-PON network design based on a reflective architecture must be used. In the longer term the tunable laser approach probably offers the highest performance WDM-PON with the greatest potential number of wavelength channels, but at present the cost of tunable lasers is still far too high (at least in FTTH solutions). The Full Service Access Network (FSAN) is an organization made up of operators and vendors that is working on standards for Next-Generation Access (NGA) beyond GPON. FSAN has two approaches to developing a future PON standard. One of the approaches is to agree on a Next Generation (NG) PON technology that can coexist with the existing GPON technology and standards. Technologies such as stacked GPON and long distance GPON fit into this approach. The other approach is to develop a new technology

29

Next-generation optical access network independent of GPON. WDM PON is the most promising technology for the second approach. WDM PON reasons for deployment Increase in consumer bandwidth demand, need for fiber investments in the local loops, need for scalable networks, cost efficiency, need to open the access network, and the growth of wireless broadband are some of the key factors that make WDM PON an attractive technology for many service providers. Consumer Bandwidth Demand - The greatest driver for WDM PON is the continuous increase in the bandwidth demand by broadband subscribers, and the need for a flexible access technology to address this trend. Due to streaming of high quality videos and applications like file and content sharing and IPTV the data traffic on the networks is growing continuously. The bandwidth demand of consumers always seems to catch up with the access networks capabilities of service providers. By using multiple wavelengths, WDM PON can help service providers stay well ahead of the consumers emerging bandwidth demands for many years. Scalability - WDM PON's point to point logical architecture brings in much more scalability than traditional PON technologies. WDM PON's flexibility can enable providers in ease of deployment, elimination of overlay and integration of multiple services. WDM PON also allows convergence and different networks can be collapsed onto the same infrastructure. Bandwidth upgrades are smoother for WDM PON as each ONT has its own dedicated wavelength.

30

Next-generation optical access network Traditional PON technologies typically support 32 or 64 users per fiber. WDM PON has the potential to cater for many more subscribers per deployment. A single wavelength can be shared amongst users in a multi dwelling unit (FTTB) with digital subscriber line (DSL) or Ethernet. Network Openness (Unbundling of local loop) - In open markets, such as Europe, an important requirement is that a subscriber should be able to freely choose an operator to fulfill its needs in terms of communication services (Local Loop Unbundling). The unbundling operation should allow any subscriber to access to the services from any Telco (OLO or incumbent) and easily switch operator, possibly in an automatic way. The selection of any technology to put into service Ultrabroadband Access (Point-to-Point fiber, G-PON, WDM-PON) must take into account a well-qualified Unbundling solution as key factor for its success. TDM PON technologies dont allow physical unbundling. OLOs can only access the network with its own traffic at a bit-stream level. QoS, aggregation, and network management are operated by the owner of the network. Many OLOs do not consider a business model, making only use of a bit-stream unbundling and fear that TDM-PON networks will offer them an unfair QoS handling, and will wafer thin margins. WDM-PON unbundling instead can be based on lambda (One one subscriber) and is characterized by: End-to-end connectivity (virtual point-to-point) Link transparency

31

Next-generation optical access network Enhanced distance reach (low optical path loss) (3050km) WDM-PON allows a virtual point to point link without

deployment of huge amount of fiber and it has the same advantages of Point-To-Point in terms of segregation of traffic among operators, and protocol/bit-rate transparency on each link. Total Cost of Ownership (TCO) - Currently the equipment cost of a WDM PON roll out is more expensive than traditional PON technologies. When WDM PON equipment prices become comparable to TDM PON technologies, service providers can achieve long term savings by cutting on upgrade costs with WDM PON. WDM PON enables savings by eliminating redundancy layers and unnecessary protocol conversions. The revenue per bit for service providers is falling and they need to capture all opportunities to bring down the TCO of their network. The number of Central Offices can be reduced (Node

Consolidation) due to the presence of an intermediate distribution node. Moreover, long hauls are also possible with benefits in terms of equipment aggregation in bigger central offices or for serving low density areas. WDM PON can also enable providers in convergence and merge their metro and access networks. Providers can use one technology to go from their core networks to their metro networks and their access networks. WDM PON holds the promise of decreasing both the OPEX and CAPEX for operators when the technology matures. Wireless Broadband - The growing popularity of mobile data services is placing increasing demands on backhaul. WDM-PON is believed to be one of the best solutions for backhauling the wireless

32

Next-generation optical access network networks. Due to its bandwidth capacity and protocol transparency, WDM-PON can offer wireless networks a robust backhaul network, by connecting their mobile base-stations with the fiber. Local Access Fiber Deployment by Broadband Providers - Due the decreasing subscriber average revenue per user (ARPU) trend, service providers need to engineer their fiber access networks cost effectively and this can be addressed by WDM PON technology. However as the technology has not yet reached maturity and its equipment is unfavorably priced compared to TDM PON technologies, providers are forced to deploy the traditional PON technologies. As WDM PON technology matures, it will be an increasingly likely choice for service providers to build their local access fiber networks. Even from day one WDM PON can be selected by aggressive providers who want to differentiate themselves with gold offers to selected customers. WDM-PON challenges Though WDM PON has tremendous bandwidth potential and allows operators to future proof their access networks, the main factors that are hindering its widespread commercial deployment are that the technology is still not fully standardized and it lags behind other established PON technologies like GPON and EPON on price points. WDM-PON costs - Although WDM PON is less expensive than traditional PON technologies on a per Mbps basis, WDM PON equipment is more expensive than traditional PON equipment. Excluding civil works, a WDM PON roll out can currently cost a service provider 2 to 3 times more than a roll out of an established PON technology like GPON or EPON. Even after understanding the

33

Next-generation optical access network benefits of WDM PON, service providers will not undertake major deployments of WDM PON until its price reaches the levels of GPON and EPON. Nowadays, the ONT for WDM PON is also more expensive than ONTs of traditional PON technologies: ONT cost is a significant portion of the network cost per subscriber and makes a direct impact on the business case. The low subscriber density of WDM PON also contributes to its higher cost for the provider as it typically requires more racks of OLTs for a given subscriber compared to traditional PON technologies. Improvement in subscriber split ratio of WDM PON will also help bring its TCO down for service providers. Other aspects are the initial investment costs. In mature markets, there are the operators that already invested in architectures different from WDM-PON and expect to maximize the return of their investments. With the falling ARPU, operators are more careful in investing in new technologies. Standardization - In order to keep the cost down, vendors initially used their This proprietary caused technologies issues in and WDM slowed PON the development. scalability

standardization of WDM PON technology. Vendors have realized that WDM PON must be standardized to be successful and are now working to standardize the technology as it matures. They are also leveraging off the shelf technologies and standardized WDM and Ethernet protocols in its development.

34

Next-generation optical access network

35

Open access architecture

OPEN ACCESS ARCHITECTURE


In present chapter, open access network scenarios are discussed for different technologies. In open markets, such as Europe, an important requirement is that a subscriber should be able to freely choose an operator to fulfill its needs in terms of communication services (Local Loop Unbundling). This aspect complicates the network equipment that must be provided in case of fiber based access, as each operator should deploy its own network. In order to minimize the cost of network deployment some degree of sharing of access network infrastructure is required. The common situation in many countries is that one incumbent operator (former PTT) is the owner of the great majority of the fixed access and OLOs should rely on the incumbent network to reach their subscribers. The unbundling should allow an open access network, with no barriers for new operators (OLO) or for users that want to switch operator. The advantage for OLOs are obvious and also incumbent have a high interest in reaching an effective unbundling solution, to gain access to government funds (blocked without an agreement on an open network architecture) and obtain a clear and stable regulation, that guarantees a return of investment for network upgrade expenses. The selection of any technology to put into service ultrabroadband Access (Point-to-Point fiber, G-PON, WDM-PON) must take into account a well-qualified Unbundling solution as key factor for its success!

Open access architecture A list of well-qualified macro-requirements for any successful unbundling solution: No barriers for newcomers (OLO) either form the

technical point of view or in terms of excessive CAPEX to enter the market. Capital investments should grow according to the number of subscribers asking for unbundling and/or the number of OLOs: Pay as you grow model. Protocol transparency and Segregation of unbundled traffic. I.e. unbundling solution must support any type of traffic carried by the OLO. Traffic parameters (QoS, Concentration ratio, etc.) must be fully controlled by OLO. OPEX should be minimized by simple (or automated) unbundling operations and by robust and effective OAM procedures. The solution should allow an unambiguous repartition of the costs (CAPEX/OPEX) between incumbent and OLOs Point-to-point and WDM-PON appear as the preferred optical access technologies able to provide physical unbundling, offering a business opportunity for all the operators that decide to give connectivity services with a fair access to the network resources In the following sections the main features of the available ultra-broadband access systems will be briefly presented, taking into account the unbundling facilities of each technology.

37

Open access architecture

GPON Unbundling
GPON physical layer consists in a point-to-multipoint optical link with maximum aggregated Downstream and Upstream rate of 2.5Gbit/s and 1.2Gbit/s respectively (extensible to 10Gbit/s with XGPON). The number of subscribers for each PON essentially depends on the emission power of the optical active components, on the distance from the central office and on quality of service. It can be rise up to 128 users per PON. There is only one optical channel for downlink and one for uplink, shared among all the PON users. The access is based on Time Division Multiplexing, without any chance to have physical unbundling. OLOs can only access the network with its own traffic at a bit-stream level. QoS, aggregation, and network management are operated by the owner of the network. The main problem of the bit-stream unbundling is that OLOs do not consider a business model because they find it difficult to operate service diversification. Again, they fear that GPON networks will give them an unfair QoS advantage and wafer thin margins. Typically bit-stream unbundling will be realized in the main CO (see Figure 9):

38

Open access architecture

FIGURE 9. Typical GPON bit-stream unbundling

In this scenario the incumbent handles the PON bandwidth and all traffic parameters (such as concentration ratio, QoS, etc) either for itself and for OLOs subscribers. Even if this can be regulated by a SLA (Service Level Agreement), this is widely considered not acceptable by OLOs and by any regulation authority.

Stacked GPON unbundling


Multiple GPONs (forming a stack) can coexist in the same network infrastructure through wavelength multiplexing. Fiber infrastructure can be reused without any change. GPON OLT equipment experiences some minor changes due to the multiple optical layers which have to be managed: new coloured optical frontends are required.

39

Open access architecture Each GPON of the stack is assigned to one operator with its own colored ONUs and OLT: a common OAM functionality is required to coordinate the use of the spectrum, for network supervision and fault management.

Figure 10. Stacked GPON (One wavelength per operator )

Colored ONUs are needed at a substantially higher cost than GPON ONUs. Legacy GPON ONUs are also impacted because WDM pass filters are required to separate the legacy streams from the new ones. Unbundling is guaranteed at the physical layer, because each operator manages its own PON. As a drawback, OLOs could experience costs barriers to enter the market: The incumbent or the alternative operator that operates over the legacy GPON is advantaged, due to the lower cost of ONUs and OLT optical front-end. High CAPEX, with detrimental effects especially for small OLOs, due to the need of a dedicated optical layer and the development of the proper coloured ONUs (cost depends on volumes)

40

Open access architecture A Pay as you grow model is not applicable since to access the market in a specific area an operator has to acquire an entire GPON layer from day one. All the operators equipments insist on a common set of ports towards the subscribers, thus OLTs capacity will be wasted to serve many and barely populated GPONs. OLO could experience issues to access the Central Office facilities due to the increased footprint and power consumption.

Point-to-point Unbundling
Physical Point-to-point, exploits the use of a dedicated fiber per subscriber. There is no wavelength or time multiplexing, with a complete traffic isolation and segregation. In this scenario the distribution node functionality is operated by the central office, as a consequence, a large number of small COs are required to avoid huge amounts of deployed fiber. Physical and manual (copper like) unbundling is achieved at the central office moving the fiber end from the equipment of one operator to another.

FIGURE 11. Point-to-point deployment

No unfair competition for OLOs, but the cost of fiber lease could be high due to huge investments in cables deployment. In this

41

Open access architecture case the incumbent or the fiber infrastructure owner builds its access network as a star, where each subscriber is physically linked to the CO by an optical fiber. The unbundling is then achieved by the possibility to rent the point to point raw fiber to the OLO. The OLO can lease each fiber link and deploy its own equipment in the CO to handle traffic from its own subscribers. That permits to build up a physically separated network, also according to a pay as you grow model. The main advantages are a perfect physical unbundling, fair cost repartition and easy management due to the absence of active components between the operators equipment at the central office and the subscribers. The role of fiber here is the same of the twisted pairs in the actual copper based access network. The main drawback is the creation of huge stars of fibers from CO to each subscriber with high costs and cabling complexity.

WDM-PON Unbundling
WDM-PON makes use of wavelengths (frequency multiplexing) instead of dedicated fibers to connect the subscribers. Each subscriber has a dedicated wavelength which realizes a passive virtual Point-to-Point. The same colorless ONU is used for all subscribers ensuring high volumes and reduced manufacturing costs: the operative wavelength of each ONU will be selected by the corresponding physical port on the AWG. The main WDM-PON features are: End-to-end connectivity (virtual point-to-point)

42

Open access architecture Link transparency Enhanced distance reach (low optical path loss) (3050km) WDM-PON allows a virtual point to point link, providing the same P2P advantages in terms of bit-stream segregation and transparency, without the deployment of huge amounts of fiber. Again the number of Central Offices can be reduced due to the presence of an intermediate distribution node (same as GPON topology). In fact, except for the distribution node, GPON network infrastructure (passive components and fibers) can be re-used. The remote node has to be changed because WDM-PONs requires MUX/DeMUX functionalities. Remote Node implementation can be done through an AWG (Arrayed Waveguide Grating): a passive device able to separate (downlink) and combine (uplink) all the subscribers wavelengths. In WDM-PON the power loss due to the optical distribution is no longer dependent on the number of subscribers, but it is about 5-6dB (corresponding to the loss due to 4 users in a conventional GPON). Accordingly long hauls are possible with benefits in terms of equipment aggregation in bigger central offices or for serving low density areas.

FIGURE 12. WDM-PON deployment

In terms of CAPEX the solution is comparable to GPON since the fiber infrastructure is not changed and the number of subscribers

43

Open access architecture handled in a single PON is comparable (e.g.128). Of course the WDM-PON equipments are today more expensive compared to GPON (1:5), even if the available bandwidth can be significantly increased (1:10 1:100).

44

Proposed network architecture for open NGOA

Proposed network architecture for open NGOA


The unbundling solution has to fulfill all the principal open access requirements mentioned earlier, and having that in mind the following network architecture is proposed. The unbundling function should be conveniently located in a node at the edge of the access network: Head-End (HE). In this node all the optical traffic is terminated and transparently switched to the operators. Core networks of different operators are directly connected to the HE, which collects all the traffic from different access networks and directs it to the appropriate operator. In the proposed network architecture, the HE will be directly connected to the transport networks of the operators (OLOs or Incumbent) and the guiding principle is that the investment on the transport network should be incremental and should scale with the real demand of traffic. The first traffic concentration is individually done by each operator, according to the offered service. The cost of the equipment in the node should almost linearly scale with the number of customers requiring unbundling.

Proposed network architecture for open NGOA

FIGURE 13. Reference network architecture (open access scenario) based on the sharing of the architecture and HE among operators

Figure 13 shows a high level scheme of proposed reference network architecture (open access scenario) based on the sharing of access fiber and HE among operators. The HE terminates the optical traffic which is transparently switched towards the operators. In such, architecture, subscribers are served by an optical access network based on point-to-point fiber, WDM-PON trees or both. While in case of point-to-point fiber the data flow of each subscriber is transported by an individual fiber, thus physically separated by other subscribers data flow, in case of WDM-PON trees, each subscriber data flow is logically separated on the common physical infrastructure by means of a dedicated individual wavelength in the WDM-PON tree. Thanks to the networks protocol transparency, the same infrastructure (P2P, PON-1, PON-2) can also be used for backhauling of radio networks or other types of networks/protocols interfacing.

46

Proposed network architecture for open NGOA The optical signals are converted into electrical signals inside the HE allowing lambda re-use among different PONs and thus aggregation of multiple PONs in the same switching equipment which in turn, allows scalability. In principle, the optic-electrical conversion allows support of any optical access protocol. The HE is in the border between access and transport network, without any intermediate stages of aggregation. Aggregation, when needed, is handled in the operator network using operator specific parameters. Each subscriber can be individually connected trough the HE towards the core network of its operator (operators $, # and % in Figure 13). At any time, the connection can be modified and the subscriber can be moved to another operator (unbundling operation).

FIGURE 14. Traffic aggregation and concentration

47

Proposed network architecture for open NGOA Figure 14 shows the metro transport network of an incumbent and one OLO with three COs. Each central office might allocate a HE that receives the traffic from both the OLOs and incumbents metro network. Green traffic corresponds to multiplexed lambda-traffic from subscribers of the same OLO without any level of concentration, thus implementing a layer 1 unbundling that operates on the optical wavelengths. Red traffic represents aggregated traffic from subscribers of the incumbent operator. Traffic is already concentrated in the HE and it is ready to be transported by the incumbent optical packet metro (no dependencies by WDM-PON technology towards transport). Yellow traffic is the same as red but in this case, it is generated by subscribers belonging to a specific OLO. The OLO relies on the incumbent transport service to carry its traffic towards point of presence (POP). The scenario described in Figure 14 allows unique flexibility, compatibility, and most importantly, scalability. Flexibility is achieved by either an OLO installing a POP in the CO and hence, obtaining virtual lambda unbundling or by asking for transport service to the incumbent to reach the POP. Compatibility between WDM-PON access and transport networks is ensured due to the same choice of technology. Scalability follows the pay as you grow concept in which the HE scales with new OLO requests.

48

Switching architecture and technologies

Switching architecture and technologies


Based on the reference architecture described in the previous chapter, the proposal is to build up an HE according to the scheme below:

FIGURE 15. Reference architecture scheme

Re-routing operation is needed to collect traffic from users spread in multiple PONs in accordance with the chosen operator. The Optical termination converts the signal from optical into electrical allowing lambda re-use among different PONs and thus, allowing aggregation of multiple PONs in the same switching equipment. Switching is based on electrical switching, however the switching matrix is simplified compared to the classical one-to-one switching, since only one-to-group switching operation is needed (further details following).

Switching architecture and technologies A single CO can serve from few hundreds up to 20.000 subscribers. The solution should scale to support small or very large COs. Different sizes can be chosen to implement the switching functionality in the CO: the solution can span from small switches (Figure 16) dedicated to a single PON or one large monolithic switch (Figure 17) serving all the subscribers in the CO. All the intermediate solutions are also possible.

FIGURE 16. Small switch approach

The connection scheme in the CO between switches and POPs shall be a full meshed network enabled via optical cables. Full meshed topology must be implemented to allow any user in the access network to be connected to any OLO. Small switches approach (figure 16) has the advantage to be modular (a single switch is added only when a new PON is required, i.e. not huge Capital Expenditure in day one is needed) but suffers the following disadvantages:

50

Switching architecture and technologies Complicated cabling in the CO when the number of subscribers and/or OLOs increases. Under-utilization of the interfaces since a connection is required between the switch x and the OLO y even if none or few subscribers of the OLO y are present in the switch x. The capacity of the links (interfaces) can scale from say 10Mbps to 10Gbps as function of OLO needs, but in case of increase of traffic towards one OLO above the preinstalled links limit, the links could saturate and the connection network must be manually modified.

51

Switching architecture and technologies

FIGURE 17. Large switch approach

A large switch approach (Figure 17) allows a straightforward connection towards OLO POPs overcoming the complicate cabling disadvantage described in the small switches solution. The main disadvantage of a large switch is the underutilization of switching capacity when not all the PONs are fully equipped. The switch size will also be limited by technological constrains. Since the average size of a CO is 1000 to 10.000 subscribers, a solution based on a mid-size switch serving 10 to 50 PONs (1000 5000 subscribers) could be advisable. In this way a single switch can serve a small CO, while in large COs few switches can be connected in a simplified and optimized full meshed network.

52

Switching architecture and technologies

Layer 1 unbundling solution


In this solution a Switch matrix based on the Wavelength unbundling concept is proposed in figure XVIII. The possibility to open wavelength/physical links to various operators with a granularity of the single link is guaranteed by a Rearrangeable Non Blocking (RNB) switch in order to permit operators to provide the requested services also to few subscribers. Each user has a virtual point-to-point wavelength (or physical p-t-p) based connection, then it could be also possible to provide different data rates and different protocols (WDM-PON transparency). The switch proposed here is an electrical circuit switch, formed by small integrated Strict-sense Non Blocking (SNB) devices. The challenge of rearranging a set of N input in a set of N output is to find out one of the possible permutations between any input to any output port. In this scenario we have a group of K undifferentiated outputs, for example associated to an OLO, where for instance the output ports are partitioned taking into account a single OLO ( K ports) and an incumbent (N-K ports). In this way the number of possible permutations will substantially decrease based on the partitioning of different OLOs plus the incumbent. Then the interconnection of the SNB devices is done according to the first two stages of a Clos Network. In fact it is not request to switch a specific user to a specific output, because it is enough to connect each input to one of the outputs assigned to the proper operator (incumbent or OLO).

53

Switching architecture and technologies

FIGURE 18. Switch matrix solution based on the wavelength unbundling concept

Specialized Clos switching network


In this chapter a proposal based on a specialized Clos switching network is analyzed. The unbundling switching matrix module is implemented as a three stage Clos switching network where the elements in the last stage have no switching capabilities (Figure 19).

FIGURE 19. Unbundling switching matrix module as a three stage Clos switching network

The assumption is that each element of the third stage is dedicated to one and only one operator, and there is no need to switch connections within the same element. In fact the position of one connection within the group of connections insisting on the same element is not relevant.

54

Switching architecture and technologies According to the previous section, the classical problem to connect each specific ingress to any specific egress is simplified here to the problem to connect ingress to one of the egress in the set of egresses of each element of the third stage. This can be done because it is a reasonable assumption that the number of operators is smaller than the number of elements in the third stage. From the Slepian-Duguid theorem the Rearrangeable Non Blocking condition (RNB) is achieved when: r2 max(n,m) . It is also notable that the total number of cross-points is minimized when n=m. This is intuitively demonstrated looking at Figure 20 where a symmetric (n=m) three stage Clos network is sketched.

FIGURE 20. Symmetric (n=m) three stage Clos network

In

the

figure

21

the

choice

of

m=n/2

resulting

in

asymmetrical Clos network with m>n.


r2 r1 2*r1 r2 1 1 1 2

n N=n*r1

m=n/2 m=n/2 N=k*r2

r1

r2

2*r1-1 2*r1

m=n/2 m=n/2

FIGURE 21. Asymmetric Clos network with m>n

55

Switching architecture and technologies The net result of any asymmetrical architecture is that there will be a path duplication between the second and the third stage. As a consequence, additional connections are needed to fully connect the elements of the third to the second stage (dark path in the figure) but they are not essential to satisfy the RNB condition. The number of cross point of the second stage increases from r2*r1*r1 (fig XX) to 2*r2*r1*r1 (fig XXI) thus duplicating the cross points in the second stage. From the previous considerations the best choice to minimize the number of cross-points respecting the RNB condition is m=n=r2. Figure 22 shows the number of cross-points for N=20.000 when different values of m are considered.

FIGURE 22. Number of cross points for N=20000 when 0<m<=n

The resulting optimized network is shown in figure 23.

56

Switching architecture and technologies

FIGURE 23. Optimized network

The number of cross-point of the optimized network is : X-points = rn2 + nr2 = Nn(1 + N/n2) In order to choose n to minimize the X-points: D(n)/n = N N2/n2 = 0 The optimal choice of n is therefore n = sqrt(N), and the resulting number of X-points is X-points = 2N3/2 It is notable that in case the last condition is satisfied: r = N/n = (n2)/n = n and thus all the three stages are composed of the same number of elements. Figure 24 shows a graph with the number of X-points for different configurations of the connection network.

57

Switching architecture and technologies

FIGURE 24. Number of cross points for different configurations of the connection network

Switching algorithm

network

reconfiguration

Since the switching network is Rearrangeable Non Blocking (RNB) a proper algorithm shall be implemented to resolve blocking states when a new connection is requested (i.e. a new subscriber is added to the network or decides to change operator). Existing methods allow to always finding a path to connect a subscriber with the desired operator provided that the ingress and

58

Switching architecture and technologies the egress are free and that the switching matrix satisfies the RNB condition (Slepian-Duguid Theorem). However in the proposed unbundling solution, subscribers from different operators will co-exist in the same switching network and it is not desirable that actions on subscribers owned by one operator affect connections dedicated to subscribers owned by another operator. The novelty of the proposed algorithm is to allow segregation during rearrangement operation among subscribers belonging to different operators. I.e. if only subscribers belonging to operators A and B are involved in the path establishment operation, it does ensure that subscribers belonging to other operators are not affected. The unbundling switching matrix module is implemented as a three stage Clos switching network where the elements in the last stage have no switching capabilities and each element of the third stage is dedicated to serve one operator. The general unbundling switching matrix is described in figure 19. The switching matrix is rearrangeable non blocking if the condition r2 max(n,m) is satisfied (Slepian-Duguid theorem). The algorithm works on a modified version of the Paull Matrix used to define the connection status of the switching network. The Paull Matrix is a matrix with r1 rows and r3 columns where the (i,j) element contains the symbols corresponding to the second stage elements seized by the connection between element i of first stage and element j of third stage. In the unbundling switching matrix each element of the third stage is dedicated to a single operator. The Paull Matrix shall be modified to contain such information. Thus every column shall

59

Switching architecture and technologies contain a label indicating which operator the column (i.e. the element of the third stage) belongs to. One operator owns one ore more elements of the third stage; let us call OGj to the group of egress connections belonging to the operator j. Thus OGj = r3(j,1) r3(j,2) .. r3(j,K) =
r 3( j , k ) ;
k= 1 K

where r3(j,k) are the egress connections of the k-th element of the third stage owned by operator j and denotes the union operation.

FIGURE 25. Example of modified Paull matrix

The problem of switching in the Unbundling Switching Network is to find a path P(i,OGj) to connect the subscriber i to one egress connection in the set of connections OGj of the desired operator j, provided that the ingress is free and there is at least one free egress within the set of OGj.

60

Switching architecture and technologies The establishment of the switching path P(i,OGj) should be made without rearranging the existing connections belonging to other operators P =
z i, y j

P ( z , OGy ) .

The connection establishment is needed either because a new subscriber is added to the network of operator j, or because a subscriber i wishes to switch from former operator to operator j (unbundling operation). However such operation is not expected to happen as atomic operation and during the normal period of work of the network. More likely the single operations will be aggregated as a set of operations to be applied to the network at well defined scheduled Let us call S = time
i I , j J

(e.g.

once

per

week).

P (i, OGj (i )) to the set of new paths requested by

an aggregated operation, where I is the set of subscribers to be connected and J is the set of operators involved in the connection requests. Because of the above considerations the set of connections that shouldnt be touched during the rearrangement of the switching network can be reduced from
z I , y J

P =

z i, y j

P ( z , OGy )

to P =

P ( z , OGy ) where P P.

The algorithm to establish the connections S is described below: 1. transform the Paull matrix M into M where all the columns corresponding to the operators in the set J are removed, and work on the matrix M. 2. select a new connection P(i,OGj) from the set of connections S until all connections are established.

61

Switching architecture and technologies 3. select one free egress j in the set OGj. 4. two cases are possible to add a connection P(i,j): a. it exists a second-stage module a which is available in both row i and column j; hence, use a module a for the new connection, without any rearrangement and return to point 2. b. otherwise, there should be two second-stage

modules a and b such that a is available in row i, and b is available in column j. 5. choose a on the row and visit the column swapping a with b in such column. Continue the process swapping a and b and b with a alternatively on the columns and on the rows until one of the following condition is satisfied: a. row not containing b or a column not containing a is found. In this case an acceptable rearrangement of the matrix is found and the algorithm can return to point 2. b. all the columns in M are visited but condition 5.a is not met. 6. revert all the swaps made at point 5. 7. choose b on the column and visit the row swapping b with a in such row. Continue the process swapping b and a and a with b alternatively on the rows and on the columns until one of the following condition is satisfied:

62

Switching architecture and technologies a. row not containing b or a column not containing a is found. In this case an acceptable rearrangement of the matrix is found and the algorithm can return to point 2. b. all the column in M are visited but condition 7.a is not met. 8. revert all the swaps made at the point 7. 9. select a new free egress j from a new set r3(j,k) OGj (i.e. work on a new column of the matrix M) and repeat the algorithm from point 4 until all set r3(j,k) with at least one free egress are tried. If there are no free egresses j, continue to the next point. 10. select an operator from the set J and add the

columns corresponding to that operator to the matrix M. Try again from point 3 until the connection is established (in the worst case the connection will be established when M M because of the RNB property). When the connection is established return to point 1. Example The best way to comprehend the algorithm is to apply it on an example. Lets consider the following initial configuration with 2 operators sharing a network serving 16 subscribers as in figure 26:

63

Switching architecture and technologies

FIGURE 26. Example, two operators sharing a network serving 16 seubscribers. Initial state

And suppose that the subscriber corresponding to the 4 th inlet on the stage #1 needs to be connected to operator op1. Following the steps of the algorithm: Step 1: column 3 and 4 are removed Step 2: the only connection is P(4,op1) Step 3: select egress 5 (1st egress of the stage #2); connection is P(4,5) Step 4.b: in M(1,2) c is available on the row and a on the column Step 5: choose c on the row and swap the column

64

Switching architecture and technologies

FIGURE 27. Step 5

Step 5.b: swap are needed in column 3 (out of M) and thus 5.a cant be met. Step 6: revert all the swaps Step 7: choose a on the column and swap the rows

FIGURE 28. Step 7.b

65

Switching architecture and technologies Step 7.b: swap are needed in column 4 (out of M) and thus 7.a cant be met. Step 8: revert all swaps Step 9: select egress 1 (1st egress of the stage #1); connection is P(4,1) Step 4.b: in M(1,1) c is available on the row and a on the column. Step 5: choose c on the row and swap the column.

FIGURE 29. Step 5.a

Step 5.a: swapping c and a in M(4,1) solution is found and the algorithm can terminate. The final network connection state is described in the figure below where the subscriber 4 is connected to OP1 and the connections of subscribers of OP2 have not been moved.

66

Switching architecture and technologies

FIGURE 30. Example finale state

Head-End node architecture


This chapter describes at a high level a possible layer 1 unbundling solution based on the analysis done in the previous sections. In figure 31 the basic module of the proposed architecture is shown. The PON is terminated by an OLT module that converts the optical channels into electrical domain. Electrical channels are connected to the first stage of the switching matrix (X1). The X1 modules are connected to the modules of the second stage of the switching matrix (X2) and finally towards the physical egress interface ports. The figure describes both the directions from ingress to egress and vice-versa.

67

Switching architecture and technologies

FIGURE 31. Basic module of the proposed architecture

Figure 32 describes the logical structure of the HE node based on the basic module.

68

Switching architecture and technologies

FIGURE 32. Logical structure of the HE node

The HE shall be composed by a first stage of modules. Each module shall terminate the optical interfaces (WDM or p-t-p) and contains a switching element X1 of the first stage of the specialized Clos matrix. The Modules will be connected via an electrical bus (e.g. on backplane) towards the second switching stage of the Clos matrix, that in turn shall be connected via a second electrical bus to the physical egress interfaces. The physical egress interfaces shall be modular to support different standards, bitrates, protocols, and physical characteristics allowing the connection to the equipments of any operator requesting unbundling. As an example, in figure 33, three type of interfaces are shown: LC1 with 10bps capacity supporting up to 8 lambda corresponding to 8 subscriber streams of the same OLO, LC2 40GBps capacity with CWDM intra-office low cost

69

Switching architecture and technologies technology supporting 32 lambda and LC3 able to concentrate traffic using L2 switching technology. This solution permits to connect each subscriber served by an arbitrary OLT (or p-t-p optical interface) to the equipment of any operators with a point of presence in the premises of the unbundling element. Figure 33 shows the HE node in the access network and its modular approach.

FIGURE 33. HE node in the access network and its modular approach

ILEC (Incumbent Local Exchange Carrier) subscribers will be multiplexed towards green line interfaces and their traffic will be transported over the ILEC transport network. OLO1 and OLO2 have their POP in the CO and thus red and cyan intra-office interfaces will connect their subscribers to the respective POP. Traffic generated by subscribers of OLO3 will be transported over the ILEC transport network to another CO where the POP of OLO3 is located.

70

Switching architecture and technologies The general principle is that each egress line interface is owned by one OLO providing flexibility and modularity: each OLO will decide the type of interface and each interface can be added to HE only when needed (pay as you grow). Modularity is achieved also towards the optical network, where new modules (OLT+X1 or ptp+X1) will be added only when new PONs and/or optical lines need to be deployed. The second stage of the switch (X2) shall be dimensioned to support the maximum number of subscribers from the day 1. This characteristic of the solution could limit its CAPEX scalability. This limitation can be overtaken by designing a couple of versions of the HE one for small-to-medium CO and another for medium-to-large CO.

71

Demonstrator of a solution for WDM-PON unbundling

Demonstrator of a solution for WDM-PON unbundling


The goal of the demonstrator is to realize a proof of concept of the open network solution described in previous chapter minimizing both the implementation cost and the development time. The demonstrator is developed to represent as much as possible the real-life scenario. In order to avoid any HW development, the prototype is assembled by using components mounted on evaluation boards provided by the suppliers. The SW to manage the Head-end and to implement the rearrangement algorithm has been developed as a object of this thesis. Along with the control SW, two graphical user interfaces were also developed as a management (OAM) and monitoring interfaces of the system.

Demonstrator architecture
The Head-End demonstrator based on layer 1 unbundling realizes the following logical scheme (figure 34):

Demonstrator of a solution for WDM-PON unbundling

FIGURE 34. HE demonstrator based on layer 1 unbundling

The demonstrator can serve 12 subscribers over 3 PON (or a mix of PON and point to point links) and establish a transparent 1Gb/s connection between each subscriber and a maximum of 3 different operators. In the demonstrator, it has been decided to serve 2 operators over 3 interfaces: operator 1 is a movie provider and owns interface 1 and interface 3, while operator 2 is a gaming provider and owns interface 2. Each subscriber can freely move to one operator to another (unbundling operation) under control of an OAM software able to rearrange the switching modules of the head-end. The rearrangement of the switch is done with an innovative algorithm to ensure maximum segregation among operators within the switching matrix.

73

Demonstrator of a solution for WDM-PON unbundling

In the logical scheme, the system is modular and there are unallocated slots. The lab realization of the Layer 1 unbundling demonstrator is outlined in Figure 35. It is worth to note that for practical reasons only 4 subscribers can be served and the system is not modular in practice.

FIGURE 35. Layer 1 unbundling demo block scheme

The demonstrator interconnection scheme is sketched in figure 36. The layer 1 switching matrix and media converters are substituted with the evaluations boards provided by the manufacturers.

74

Demonstrator of a solution for WDM-PON unbundling

FIGURE 36. Interconnection scheme

The demonstrator realizes the logical scheme in figure 37.

FIGURE 37. Logical scheme of the demonstrator

75

Demonstrator of a solution for WDM-PON unbundling

The seven 4x4 switching modules of the figure 37 have been realized by two 12x12 switching components (one direction) as described in the figure 38 for one direction:

FIGURE 38. Implementation by two 12x12 switching elements (one direction)

The HW block scheme of the demonstrator for upstream and downstream directions is illustrated in figure 39:

FIGURE 39. Implementation by four 12x12 switching elements (bidirectional)

76

Demonstrator of a solution for WDM-PON unbundling

Demonstrator hardware description


This demonstrator uses unbundling solution based on electrical switching. For the analog switching matrix, the Mindspeeds M21xx3 twelve-channel crosspoint switch was chosen. To avoid hardware development assembling, Mindspeeds M21xx3 Evaluation Modules (EVB) were used (figure 40). The EVM is a demonstration and test platform that enables system developers and product designers to quickly evaluate the functionality and performance of the M21xx3 crosspoint switch.

FIGURE 40. Mindspeed twelwe-channel crosspoint switch evaluation board

Even for the media converters, converting optical signal to electrical and from electrical to optical, the evaluation boards of the product are supplied by the manufacturer.

77

Demonstrator of a solution for WDM-PON unbundling

Hardware interconnection
The interconnection scheme of the four (two per direction) Evaluation Boards (EVBs) is described in figures 51 and figure 52 (for other direction). The interconnection of the EVB0 and EVB1 (EVB2 and EVB3 for other direction) is done according to the logical schemes, previously presented.

FIGURE 41. Interconnection scheme for evaluation boards - uplink

78

Demonstrator of a solution for WDM-PON unbundling

FIGURE 42. Interconnection scheme for evaluation boards - downlink

The SMA cables (figure 43) of different length were used for all the interconnecting between EVBs.

FIGURE 43. SMA cable connectors

The connections for the control of one evaluation board are outlined in the figure 44:

79

Demonstrator of a solution for WDM-PON unbundling

FIGURE 44. Control interface for one board

USB is the control interface of the evaluation board. In order to control 4 EVBs from one host one EVB is used as master and connected to the host PC via USB. The remaining 3 EVBs are controlled by the master. This can be done by configuring each EVB for a different I2C address, and disabling the controllers on the slave EVBs. To realize this control scheme it is needed to daisy chain the SDA, SCL, and GND signals together on all of the EVBs, and just have the master EVB connected to the control PC via USB as described in figure LXV.

80

Demonstrator of a solution for WDM-PON unbundling

FIGURE 45. Control connection scheme

Control plane software


Software description The development of the software that manages the switching matrix is the main goal of the thesis work. In previous chapters the unbundling solution based on WDMPON networks was introduced, the algorithm which rearranges the paths within the switching matrix was described, and the hardware that will be implemented for analog switching was presented. The missing peace in a puzzle is the software that will be using the algorithm in order to rearrange the connections of the physical switching matrix. This software will subsequently be called Control Software.

81

Demonstrator of a solution for WDM-PON unbundling

In addition to this software, there was the need to make two Graphical software. Control Software The Control Software was developed in Microsoft Visual C++, mainly because it was recommended by the switch manufacturer for the easier interoperability with their hardware. A part of the source code is referred in Appendix A1. The Control Software is run on the OAM machine, and is serially connected to the EVB0 (through which to other boards ad seen previously). It is structured in three logically separated modules: Algorithm, Hardware Control and Low Level Adaptation module. The Algorithm module is part of the software where the inputs are being elaborated, following the steps of the rearrange algorithm. One of the crucial aspects in this module is the used data structure. Arrays of integers were chosen to represent the connections within the switching matrix. It takes in input the previous state of connections (previous step arrays) and the input (subscriber, operator, action to be taken) from the Management (OAM) Operator. The result of the algorithm will be new connections state (new arrays). The Hardware Control is elaborating result data from Algorithm module and adapts it to the hardware physical connections. Even in this module the connections are represented with the array of User Interfaces (Management and Monitoring GUIs) through which the user (OAM operator) can interact with the

82

Demonstrator of a solution for WDM-PON unbundling

integers. After the actions performed in this module the data will be forwarded to lower level. The Low Level Adaptation Module will literally break the received data in bits. Since the hardware is provided with the API, this module adapts the data to it. The principal hardware API functions are represented by the reading and writing the evaluation boards registers and this module result data are register addresses and the bits to be written in registers. Management Interface The Management (OAM) Interface is graphical user interface (GUI) developed in JAVA environment. Management Interface is run on same machine as the Control Software, which is meant to be placed at the entity designed for the management of the head end node. It is the user-friendly input interface. On request to add, move, remove the subscriber, the Management operator will insert the requested inputs and start the recalculation of the connections (Control Software). Management Interface is displayed in the figure 46. It gives the possibility to the Management operator to add subscriber, remove subscriber, move subscriber from one operator to another, load an initial configuration. Making an operation is pretty simple, the Management operator just needs to insert the subscriber number and choose operator, and clicking on the action start the elaboration which is done in Control Software. The subscriber-operator association table will be renewed at the end of Control Software elaboration with the new association state.

83

Demonstrator of a solution for WDM-PON unbundling

FIGURE 46. Management Interface

Monitoring Interface The Monitoring Interface is also a graphical user interface developed in JAVA environment. It is run on the different machine from the Control Software and Management Interface. The Monitoring Interface is graphically representing the

connections state after an operation is concluded. By the color is possible to follow how a subscriber is getting switched through the switching matrix. A screen shot of the Monitoring Interface is displayed in figure 47.

84

Demonstrator of a solution for WDM-PON unbundling

FIGURE 47. Monitoring interface

Software architecture
Use case view This view presents the users perception of the functionality provided by software. In the use case diagram, the actions are not described in details but represent the functionalities that the software provides to the user.

85

Demonstrator of a solution for WDM-PON unbundling

FIGURE 48. Use case view

Actors The following figure present the known actors that will interact with the deployed system:

FIGURE 49. Actors

Management (OAM) Operator is meant to be a person who is in charge of entering the data in the system, i.e. subscriber, operator, action to be performed. Management Operator interacts with the system through Management Interface.

86

Demonstrator of a solution for WDM-PON unbundling

Monitoring is meant to be a person/object that sees/displays the state of the connections after the request for new operation happen. Switching Network is a hardware which is controlled by the software. The hardware used is a Mindspeed 12x12 Crosspoint Switch Evaluation Board. The software has five principal use cases: - UC1: Create User-Operator Table - UC2: Add User - UC3: Unbundling - UC4: Remove User - UC5: Load Initial Configuration The Use Cases are described in the following paragraphs:

UC1: Create User-Operator Table

FIGURE 50. Create User-Operator Table Use Case

87

Demonstrator of a solution for WDM-PON unbundling

The Create User-Operator Table Use Case encloses set of actions with the aim of creating a table which associates the user with the operator to which is connected. This set of actions is taken only on launch of Management Interface. The table is afterwards renewed as a final step of other use cases.

FIGURE 51. Management Interface - Create User-Operator Table

88

Demonstrator of a solution for WDM-PON unbundling

UC2: Add User

FIGURE 52. Add User Use Case

Add user scenario is required when there is a need to connect a user to specified operator. This operation is done by Management Operator with use of Management interface. Management Operator simply inserts the user identification number and chooses the operator to which to connect the user to. As a result the user will be connected physically to requested operator and the changes will be visible on Monitoring interface.

FIGURE 53. Management Interface Add User

89

Demonstrator of a solution for WDM-PON unbundling

UC3: Unbundling

FIGURE 54. Unbundling Use Case

The Unbundling scenario is required when there is a need to move the user from one operator to another. Management Operator inserts the users identification number and the new operator to which the user wants to be connected. The Management Operator need to confirm the operation, once the warning window pops-up. The previous connection gets disconnected, and the new one is establish to the requested operator.

90

Demonstrator of a solution for WDM-PON unbundling

FIGURE 55. Management Inteface - Unbundling

UC4: Remove User

FIGURE 56. Remove User Use Case

Remove User use case includes actions targeted to remove physical connection between user and operator. This operation is done by the Management Operator who has to insert the users identification number.

91

Demonstrator of a solution for WDM-PON unbundling

FIGURE 57. Management Interface Remove User

UC5: Load Initial Configuration

FIGURE 58. Load Initial Configuration Use Case

Load Initial Configuration use case scenario gives the possibility to the Management Operator to load previously prepared initial

92

Demonstrator of a solution for WDM-PON unbundling

configuration as active configuration. In this way the operator can load configurations that are significant for testing the whole system.

FIGURE 59. Management Interface Load Initial Configuration

Software Structure Software Modules The software is divided in 5 modules: Management Interface, Monitoring Interface, Algorithm Module, Hardware Control Module and Low Level Adaptation Module. The software is also interfaced to the API provided by the manufacturer to ease the control of the hardware.

93

Demonstrator of a solution for WDM-PON unbundling

Management Interface

Monitoring Interface

SOCKET

SOCKET

Algorithm Module Hardware Control Module Low Level Adaptation Module Application Programming Interface

Mindspeed Evaluation Board


FIGURE 60. Software structure

The core of the system is Algorithm Module. It receives as input the data from the Management Interface, uses a algorithm to recalculate the new connection configuration which is then passed to the Hardware Control Module. Hardware Control Module transforms the data to lower level, which represents the physical connections of the switching matrix. Afterwards, the Low Level Adaptation Module analyzes which connections are to change and through API functions changes only those connections.

94

Demonstrator of a solution for WDM-PON unbundling

Software Communication Having more separated modules, the software has to adopt some communication between them in order to have them communicate. The Algorithm Module, Hardware Control Module and Low Level Adaptation Module have the internal communication being all part of the same software (Control Software) but only logically separated. The graphical user interfaces (Management Interface and Monitoring Interface) communicate with the main software through sockets. One socket is opened between Management Interface and Algorithm Module and another, on different port number, between Monitoring Interface and Algorithm Module. Both sockets are bidirectional. The communication of the software to the Mindspeed

Evaluation Board is done by the API functions calls. The API is provided by the manufacturer.

Data Structure Algorithm Module Data Structure The main data structure used in the software is based on the logical interpretation of the connections between states in the figure below.

95

Demonstrator of a solution for WDM-PON unbundling

0 1 2 3

1 2 3 4

A B C D

I II III IV

4 5 6 7

8 9 10 11

12 13 14 15

FIGURE 61. Main data structure used in algorithm module

Arrays of 16 elements (integers) are used to represents the states input to output relations. To show how the inputs are connected to the outputs of the first state, the Array 1 is used. The arrays index represents the output of the block while the arrays element value represents the input. When there is value at given index of the array that means that the input is connected to the output in the explained way. For the third state, which isnt switching, the Arrays 3 index represents the ingress and the value of element at that index represents the user which is connected by that connection. To explain better the principle behind this data structure, the example below will help understand how the array information is traduced to actual connection configuration.

96

Demonstrator of a solution for WDM-PON unbundling

3 0 1 4 7
0 1 2 3

A B C D
0

4 5 6 7

8 9 10 11

15

15

12 13 14 15

3 7 1

FIGURE 62. Example of data structure

Hardware Control Module Data Structure The data used in the Hardware Control Module is structured as integer arrays. Every array has 12 elements and represents the switching configuration of each state. So, in total there will be 4 arrays, being that we have two switching states for each direction. The switching node is represented in the figure 58:

97

Demonstrator of a solution for WDM-PON unbundling

0 1 2 3 4 5 6 7 8 9 10 11

0 1 2 3 4 5 6 7 8 9 10 11

FIGURE 63. Main datat structure used in hardware control module

The

information

contained

in

the

array

describes

the

connections between inputs and outputs. The index of the array represent the output of the 12x12 switching node while the value of the element represents the input of such node. That is explained in the example below (figure 64), where at index 0 there is value 3 which means that input 3 is connected to output 0.
0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11

3 1 10 7

FIGURE 64. Data structure example

98

Demonstrator of a solution for WDM-PON unbundling

Low Level Adaptation Data Structure In the Low Level Adaptation Module the data from the Hardware Control Module is traduced in the data that are required for the API calls. Being that API functions control the hardware by writing set of bits to its registers, the Low Level Adaptation Module arranges the information to API functions format. The Low Level Adaptation Module takes data from the higher level modules and from that data produces the new data as the set of bits to be written to particular register of particular hardware board.

Use Case Realization Sequence Diagrams As described previously, the software supports five use cases:
Create User-Operator Table Add User Unbundling Remove User Load Initial Configuration

Create User-Operator Table Sequence Diagram Create User-Operator Table is a small set of actions taken on the launch of the Management Interface. It is necessary to give to the Management Operator the initial state of the User to Operator association.

99

Demonstrator of a solution for WDM-PON unbundling

FIGURE 65. Create User-Operator Sequence diagram

Add User Sequence Diagram Management Operator, through Management Interface has the possibility to add user, which means, connect user to the specified operator. On his input, these information are forwarded, via socket, to the Algorithm module, which use them as input data for the algorithm. The algorithm is executed in the Rearrange function. On the completion of the algorithm (rearranging the arrays), the result data is transformed in the lower layer data used by the Hardware Control Module and after by the Low Level Adaptation Module to control the Switching Node. The algorithm result are also send back to the Management Interface to renew the user-operator association table and to the Monitoring Interface with graphically presents the actual connection state.

100

Demonstrator of a solution for WDM-PON unbundling

FIGURE 66. Add User Sequence diagram

Unbundling Sequence Diagram The Unbundling Sequence Diagram is in most of the principal steps same as the Add User Use Case Sequence Diagram. Operation of unbundling is automatically recognized by the Management Interface with the warning pop-up message, which needs to be confirmed by the Operator in order to proceed. In the Algorithm Module, the connection of the user for which the unbundling is requested is removed before the algorithm recalculates the new connection, taking in consideration information regarding the operators in the game. As in previous case, the result is used then by the Hardware Control Module and Low Level Adaptation Module to control the Switching Node and by the Management and Monitoring Interface to renew their information and visualize the new state.

101

Demonstrator of a solution for WDM-PON unbundling

If the unbundling is not confirmed by the Management Operator, the operation is aborted and no change is make.

FIGURE 67. Unbundling Sequence diagram

Remove User Sequence Diagram In this case, the Monitoring Operator inserts the user for which the connection has to be removed. The information is then used by the Rearrange function to remove an existing connection. The recalculated data needs to be sent to Hardware Control Module, which control the Switching Matrix to close the physical connection that was used to connect the user to the given operator. The Management and Monitoring Interfaces are also renewed with the actual state of connections.

102

Demonstrator of a solution for WDM-PON unbundling

FIGURE 68. Remove user Sequence diagram

Load Initial Configuration Sequence Diagram The Management Operator can load to the system one of the, previously prepared, initial configurations. These are used to take the system to the particular state. When the information about which initial configuration to load is sent to the Algorithm Module, it loads these configurations (arrays) as the actual ones and continues to work from the requested connection state, renewing the Management Interface user-operator association table

103

Demonstrator of a solution for WDM-PON unbundling

FIGURE 69. Load Initial Configuration Sequence diagram

104

Appendix A1

Appendix A1
Here is the main part of the source code of the Control Software:
#include #include #include #include #include #include #include #include #include #include <iostream> <fstream> <ctime> <sstream> <string.h> <cstring> <strstream> "Socket.h" <windows.h> "mtcintv2_export.h"

#define len 15 using namespace std; typedef char (*Niz)[16]; //type definition typedef char (*MatrixS)[16][3]; //type definition typedef char (*MatrixL)[16][6]; //type definition MatrixS arrange(int [], int[], int, int, int [], int, int[]); //algorithm function void HW_UL(int [], int[]); //Low-Lewel function UpLink void HW_DL(int [], int[]); //Low-Lewel function DownLink void log(int, int, int); //Log to file function //void InitialArray1(); //to insert element by element the Array1 ### NOT IN USE ### //void InitialArray3(); //to insert element by element the Array3 ### NOT IN USE ### Niz read1(); //reads Array1 from file Niz read3(); //reads Array3 from file void write1(int []); //writes Array1 to file void write2(int []); //writes Array2 to file void write3(int []); //writes Array3 to file string ipAddress="127.0.0.1"; string MonitoringIpAddress="127.0.0.1"; void Sim(BYTE, BYTE, BYTE); //for test only, EVB simulation function void sendUserOpArray (int []); //sends information to Operation GUI needed for User-Operator table void createInitialFileRegisterState(); //to avoid inconsistency after Master Reset void sendToMonitoring(int [],int [], int[]); //send information needed for Monitoring GUI bool copyFile (const char[], const char []); //used to upload pre-existing initial configurations int prevA1D[12]={100,100,100,100,100,100,100,100,100,100,100,100}; int prevA2D[12]={100,100,100,100,100,100,100,100,100,100,100,100}; int prevA1U[12]={100,100,100,100,100,100,100,100,100,100,100,100}; int prevA2U[12]={100,100,100,100,100,100,100,100,100,100,100,100}; ClientSocket sockClient; //socket ClientSocket socket3; int Stato_Op[4]={1,1,2,4}; //output/operator association | Ex. {1,1,2,3} means outputs (0,1,2,3) assigned to Op1; (4,5,6,7) to Op1; (8,9,10,11) to Op2; (12,13,14,15) to Op3 //Change the array to change output/operator association

void main(){

DWORD res=mtcOpenConnection(USE_PARAMS, 1, 57600, 8, 0, 0, 0); DWORD getConn=mtcGetConnectionStatus(); if(getConn==7) {printf("CONNECTED\n");} else {printf("NOT CONNECTED\n");} printf("result: %d \n",getConn); for (int i=0;i<4;i++) { DWORD writeI2C=mtcWriteI2C(32+i, 0xff, 0xaa); } for (int i=0;i<4;i++) { DWORD writeI2C=mtcWriteI2C(32+i, 0xff, 0x00); } for (int i=0;i<4;i++) {

//Opens serial connection //returns the connection status

//Master Reset on all boards

//toNormal on all boards

Appendix A1

// // boards }

DWORD writeI2C=mtcWriteI2C(32+i, 0xff, 0xaa); DWORD writeI2C=mtcWriteI2C(32+i, 0xff, 0x00); DWORD writeI2C=mtcWriteI2C(32+i, 0x03, 0x0b);

//Lane Switch Mode on all

createInitialFileRegisterState(); register

//set fileRegister to default register state | fileRegister=simple file containing bits as the real

char recMessage[STRLEN]; char sendMessage[STRLEN]; int in, out_op,action;

while(1){

//loop... the algorithm waits for the command from the Management Interface cout<< "Waiting for GUI to send me inputs ..."<<endl; sockClient.RecvData(ipAddress.c_str(), Rport, recMessage, STRLEN );

//receive message from Management GUI

string rM; rM=recMessage; cout<<"I Received from GUI: "<<rM<<endl; if (rM[0]!='H'){ cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"<<rM[0]<<endl; //test print if (rM[0]=='#'){ //if the received message starts with the character #, the upload initial configuration is requested int conf=atoi(&recMessage[1]); cout<<"Configuration number: "<<conf<<endl; if (conf==1){copyFile ("conf1-1.csv", "inArray1.csv");copyFile ("conf1-3.csv", "inArray3.csv");} //copies the initial (prepared)conf file to inArray in which is writen the actual connections state if (conf==2){copyFile ("conf2-1.csv", "inArray1.csv");copyFile ("conf2-3.csv", "inArray3.csv");} //in OP GUI the user can choose one of the four initial configurations if (conf==3){copyFile ("conf3-1.csv", "inArray1.csv");copyFile ("conf3-3.csv", "inArray3.csv");} if (conf==4){copyFile ("conf4-1.csv", "inArray1.csv");copyFile ("conf4-3.csv", "inArray3.csv");} sendUserOpArray(Stato_Op); } else if (rM[0]=='X') {cout<<"USER ABORT!!!"<<endl;} else { //if it doesn't start with #, than is message with user/operator/action (input for algorithm) string rM2; cout<<"Recv > "<<rM2<<endl; cout<<recMessage<<endl; rM2=recMessage; cout<<"Recv > "<<recMessage<<endl; char test=char(204); int stringIndex=rM.find("|",0); string copyS=rM; string secondS=copyS.substr(stringIndex+1, 1); string thirdS=copyS.substr(stringIndex+3, 1); string inputS=rM; // the user/operator/action information is concatenated in one message... inputS.erase(stringIndex); // steps to take out the inputs in separate variables cout<<"First string: "<<inputS<<endl; cout<<"Second string: "<<secondS<<endl; cout<<"Third string: "<<thirdS<<endl; int stringIndex2=rM.find(test, 0); rM.erase(stringIndex2); cout<<"String after erasing: "<<rM<<endl; in = atoi(inputS.c_str()); cout<<in<<endl; out_op=atoi(secondS.c_str()); cout<<out_op<<endl; action=atoi(thirdS.c_str()); cout<<action<<endl; //sends to Op GUI the info. for the user/operator table

int array1[16];//={2,0,100,100,100,4,5,100,9,100,8,10,100,100,12,13}; level array int array3[16];//={2,0,12,13,100,4,8,10,9,100,5,100,100,100,100,100}; level array int array2[16]={100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}; //int in; cout<<"Insert input:"<<endl; cin>>in; //insert in user //int in=GUIinput(); // in from the GUI

//first //third //second level array

106

Appendix A1

Niz R1,R3; int proba1[16]; R1=read1(); R3=read3(); //Initializing the array1 and array3 required for the algorithm for (int r=0; r<16;r++){ array1[r]=(*R1)[r]; array3[r]=(*R3)[r]; //cout<<array1[r]<<"######"<<array3[r]<<endl; }

// init. //R1 reads the array of the first level from file (previous execution) //R3 reads the array of the last level from file (previous execution)

MatrixS M; //16x3 matrix M=arrange(array1,array3,in, out_op,Stato_Op, action,array2); the algorithm execution int vector1[16], vector2[16], vector3[16];

//M is the matrix containing arrays of first, second and last stadium after

//printing all 3 arrays printf("\n\t Array1\tArray2\tArray3\n"); for (int i=0;i<16;i++) { for (int j=0;j<3;j++) { printf("\t %d",(*M)[i][j]); vector1[i]=(*M)[i][0]; //vector1=array1 vector2[i]=(*M)[i][1]; //vector2=array2 vector3[i]=(*M)[i][2]; //vector3=array3 } printf("\n"); }; int vector2_12[12]; write1(vector1); //write the first stadium array to file write2(vector2); write3(vector3); //write the last stadium array to file //MatrixL HWoutUL; HW_UL(vector1,vector2); //HW Uplink function - takes the algorithm result to Lower level HW_DL(vector1,vector2); //HW Downlink function - -||for (int i=0;i<12;i++){cout<<vector2_12[i]<<endl;} log(in,out_op,action); //logging all requested operations

sendToMonitoring(vector1,vector2, Stato_Op); //sends to Monitoring GUI the arrays sendUserOpArray(Stato_Op); //sends to Op GUI the info. for the user/operator table } } else { sendUserOpArray(Stato_Op); } } system ("pause"); }

//sends to Op GUI the info. for the user/operator table

//################################### ARRANGE function ######################################### MatrixS arrange (int CArray1[],int CArray3[], int in_user, int outOP, int statoOP[], int Action, int Array2[]) { void input_check(int [],int[], int ,int [] , int []); int check_for_available_connection(int[], int[], int, int); int swap1(int[],int[],int [],int, int); int exit_check (int[], int); int swap2(int[],int[],int [],int, int); int array_transformation(int[], int[]); void swap_all(int [], int[], int, int); int Array1[16]; int Array3[16]; int output=0; for (int i=0;i<=len;i++){Array1[i]=CArray1[i]; Array3[i]=CArray3[i];} //init. of CArray who stores the state of arrays before various operations (used when Swapping can't find the solution) int controlArray[16]; //Init. control array (used to avoid considering connections of different operator) for (int i=0;i<=len;i++){controlArray[i]=Array3[i];} int k=0, control=1, control2=1, C=0; int outArray[4]={100,100,100,100}; for (k=0;k<=3;k++){ if (outOP==statoOP[k]){ for (int i=k*4; i<=(k*4)+3; i++){ controlArray[i]=100; } outArray[k]=k; } //outArray is array which has values different from 100 if the exit belongs to requested operator } int Comp=0; //control variable (Completed: Comp==1) for (int i=0;i<=3;i++){ cout<<"OP"<<outArray[i]<<endl;} //just printing for debugging for (int i=0;i<=len;i++){cout<<"*"<<controlArray[i]<<endl;} ////just printing for debugging switch (Action) { case 1: //case REMOVE operation (action==1)

107

Appendix A1

cout<<"Operazione di rimozione utente..."<<endl; for (int i=0;i<=len;i++){ if (in_user==Array1[i]){ Array1[i]=100;} remove it by seting 100 in its position if (in_user==Array3[i]){ Array3[i]=100;} cout<<Array1[i]<<"----"<<Array3[i]<<endl; } cout<<"Operazione di rimozione eseguita!"<<endl; break; case 2:

//if IN already exists,

//check print

//case ADD operation (action==2) cout<<"Operazione di inserimento nuovo utente"<<endl;

for (int i=0;i<=len;i++) {cout<<Array1[i]<<"^^^^^^^^^^^^^^^"<<Array3[i]<<endl;CArray1[i]=Array1[i];CArray3[i]=Array3[i];} for (int k=0;k<=3;k++){ if ((outArray[k]!=100)&&(control==1)&&(Comp==0)){ output=outArray[k]; cout<<"OUT is:"<<output<<endl; if (exit_check(Array3, output)==4){ //if all the egresses of that output block are in use, it gives a printed warning and moves on cout<<"Tutte uscite sono gia' occupate !"<<endl;control=0, control2=0; } else { input_check(Array1, Array3, in_user, controlArray , statoOP); control=1;} //control==1 when we want to proceed to next step if (control==1) { switch (check_for_available_connection(Array1,Array3,in_user,output)){ //function that checks if there is a possible available connection (without any swapping) case 1: { for (int i=0; i<=len; i++) {cout<<Array1[i]<<"......"<<Array3[i]<<endl;} cout<<"OPERATION 4a SUCCESFULLY COMPLETED!!!"<<endl;Comp=1; control=0; //when control==0, the next step are not executed break;} default: control=1; } } if (control==1) { switch (swap1(Array1,Array3,controlArray,in_user,output)) { //one direction swap case 1: {for (int i=0; i<=len; i++){ cout<<Array1[i]<<"......"<<Array3[i]<<endl;} cout<<"OPERATION 5 SUCCESFULLY COMPLETED!!!"<<endl;Comp=1;control=0;break; } case -1:{ cout<<"UNABLE TO COMPLETE THE SWAPPING!!!"<<endl;Comp=0;control=1; for (int i=0; i<=len; i++) {Array1[i]=CArray1[i];Array3[i]=CArray3[i];cout<<Array1[i]<<"......"<<Array3[i]<<endl;} break; } } } if (control==1){ switch (swap2(Array1,Array3,controlArray,in_user,output)) { //other direction swap case 1: { for (int i=0; i<=len; i++) {cout<<Array1[i]<<"......"<<Array3[i]<<endl;} cout<<"OPERATION 7 SUCCESFULLY COMPLETED!!!SWAP2"<<endl;Comp=1;control=0; break; } case -1: { cout<<"UNABLE TO COMPLETE THE SWAPPING!!!SWAP2"<<endl;Comp=0;control=1; for (int i=0; i<=len; i++) {Array1[i]=CArray1[i];Array3[i]=CArray3[i];cout<<Array1[i]<<"......"<<Array3[i]<<endl;} } } }

cout<<"Control:"<<control; if (control==0){control=1;} } }

for (int k=0;k<=3;k++){ if ((outArray[k]!=100)&&(control==1)&&(Comp==0)&&(control2==1)) { output=outArray[k]; swap_all(Array1,Array3,in_user,output); //if the path is impossible to find, swap_all is the last step break; } } break;

108

Appendix A1

default: cout << "Errore!!!"<<endl;break; } for (int i=0; i<=len; i++){ cout<<Array1[i]<<"\t\t"<<Array3[i]<<endl;} int p=0,q=0,l=0; //block that given the array1 and array3, gets the array2 for (int r=0; r<=len; r++){ for (int t=0; t<=len; t++){ if ((Array1[r]==Array3[t])&&(Array1[r]!=100)&&(Array3[t]!=100)){ p=r%4; q=t/4; l=(p*4)+q; Array2[l]=Array1[r]; int control=1; } } } for (int i=0; i<=len; i++){ cout<<Array1[i]<<"\t"<<Array2[i]<<"\t"<<Array3[i]<<endl;} MatrixS m; m =(MatrixS)calloc(1,sizeof *m); to matrix columns for (int i=0; i<=len;i++) { for (int j=0; j<=1; j++){ (*m)[i][0]=Array1[i]; (*m)[i][1]=Array2[i]; (*m)[i][2]=Array3[i]; //cout<<"\t\t\t"<<m[i][j];} cout<<endl; }} return m; //matrix m is result of the algorithm (arrange function) } //check print //assign three arrays //check print

//#################################### INPUT_CHECK FOR UNBUNDLING ########################## void input_check(int ARRAY1[], int ARRAY3[], int in_user,int CA[], int sO[]){ int p=0,q=0, t=0; for(int i=0;i<=len;i++){ if (in_user==ARRAY1[i]){ ARRAY1[i]=100; t++; } } for(int i=0;i<=len;i++){ if (in_user==ARRAY3[i]){ p=(i/4); ARRAY3[i]=100; q=sO[p]; t++; } } if (t==2){ for (int k=0;k<=3;k++){ if (sO[k]==q){ for (int i=k*4; i<=(k*4)+3; i++){ CA[i]=100;} } } cout<<"+++++++++++UNBUNDLING+++++++++++"<<endl; for(int i=0;i<=len;i++){ cout<<q<<"\t"<<CA[i]<<endl; } } }

//#################################### EXIT CHECK ############################################## int exit_check (int ARRAY3[], int output) //checks if there is an available exit connection { int start=output*4; int k=0;

109

Appendix A1

for (int i=start; i<=start+3; i++) { if (ARRAY3[i]!=100) { k++; //cout<<"NO SPACE"<<endl; } } return k; }

//################################ CHECK AVAILABLE CONNECTIONS ##################################################### int check_for_available_connection (int ARRAY1[], int ARRAY3[], int in_user, int output) path { //int output=0; int set1=(in_user/4)*4; int kontrola=0; int set2=output*4; for(int i=set1; i<=set1+3; i++) { for(int j=set2; j<=set2+3; j++) { int pos1=i%4; int pos2=j%4; if ((ARRAY1[i]==100)&&(ARRAY3[j]==100)&&pos1==pos2&&kontrola==0) { ARRAY1[i]=in_user; ARRAY3[j]=in_user; kontrola=1; break; //for (int i=0;i<=len;i++){ (*a)[i][0]=ARRAY1[i]; (*a)[i][1]=ARRAY3[i];} } } } return kontrola; } //checks if there is already available user/operator

// ####################################### SWAP 1 ################################################### int swap1(int Array1[], int Array3[], int arrayControl[],int in_user, int output) (row/column swapping in algorithm) { int a=0,b=0,i=0,j=0,control2=0; int set1=(in_user/4)*4; int set2=output*4; for (i=set1; i<=set1+3; i++) { if (Array1[i]==100) { a=i%4; break;} } for (int j=set2; j<=set2+3; j++) { if (Array3[j]==100) { b=j%4; break; } } int count=0, count2=0,temp=0, temp2=0; int finish=0; int ilegal=0; int round=0; do { cout<<"Round:"<<round<<endl; if (round==0){ temp=Array3[set2+a]; Array3[set2+a]=Array3[set2+b]; Array3[set2+b]=temp; //swaps the connections in order to find an available one

Array1[set1+a]=in_user; Array3[set2+a]=in_user;

110

Appendix A1

for (int i=0;i<=len;i++){cout<<Array1[i]<<"------"<<Array3[i]<<endl;} if (((Array3[set2+a])==100||(Array3[set2+b])==100)){/*cout<<"PRVI USLOV!"<<endl*/;finish=1;break;} } for (int i=0; i<=len; i++) { if (Array1[i]==temp) { count=(i/4)*4; } } for (int i=0;i<=len;i++){ cout<<arrayControl[i]<<Array1[count+a]<<endl; if ((Array1[count+a]==arrayControl[i])||(Array1[count+b]==arrayControl[i])) { if (arrayControl[i]!=100){ ilegal=1;finish=2;break;} } } if (ilegal==1) {cout<<"Stop! Ilegal operation.";round++;cout<<finish<<round;} else{ temp=Array1[count+a]; Array1[count+a]=Array1[count+b]; Array1[count+b]=temp; temp=Array1[count+a]; if (((Array1[count+a])==100)||((Array1[count+b])==100)) {/*cout<<"DRUGI USLOV!"<<endl*/;finish=1; break;} for (int i=0; i<=len; i++) { if (Array3[i]==temp) { count2=(i/4)*4; } } Array3[count2+b]=Array3[count2+a]; Array3[count2+a]=temp; temp=Array3[count2+b]; cout<<"???????"; if (((Array3[count2+a])==100)||((Array3[count2+b])==100)){/*cout<<"TRECI USLOV!"<<endl*/;finish=1;break;} if (finish=0){ for (int i=0; i<=len; i++) { for (int j=0; j<=len; j++) { if ((((Array1[i])==(Array3[j]))&&((i%4)!=(j%4)))&&((Array1[i]!=100)&&(Array3[j]!=100))) {cout<<"Impossible operation!";finish=2; break;}}} }} round++; }while ((finish==0));//||(finish=2)); if (finish==1) {control2=1;} if (finish==2) {control2=-1;} return control2; }

//####################### SWAP 2 ################################### int swap2(int Array1[], int Array3[], int arrayDT[],int in_user, int output) //equivalent to swap function, but in other direction (starts with column) { cout<<"Entering in function Swap 2"; int a=0,b=0,i=0,j=0,control2=0; int set1=(in_user/4)*4; int set2=output*4; for (i=set1; i<=set1+3; i++) { if (Array1[i]==100) { a=i%4; break;} } for (int j=set2; j<=set2+3; j++) { if (Array3[j]==100) { b=j%4; break; } } //cout<<a<<b; int count=0, count2=0,temp=0, temp2=0; int finish=0; int ilegal=0; int round=0; do {

111

Appendix A1

cout<<"Round:"<<round<<endl; if (round==0){ temp=Array1[set1+b]; Array1[set1+b]=Array1[set1+a]; Array1[set1+a]=temp; Array1[set1+b]=in_user; Array3[set2+b]=in_user; for (int i=0;i<=len;i++){cout<<Array1[i]<<"------"<<Array3[i]<<endl;} if (((Array1[set1+a])==100||(Array1[set1+b])==100)){cout<<"******1********"<<endl;finish=1;break;} } for (int i=0; i<=len; i++) { if (Array3[i]==temp) { count=(i/4)*4; } } //cout<<count<<endl; for (int i=0;i<=len;i++){ cout<<arrayDT[i]<<Array3[count+a]<<endl; if ((Array3[count+a]==arrayDT[i])||(Array3[count+b]==arrayDT[i])) { if (arrayDT[i]!=100){ cout<<"Cannot touch users from other operators!"<<arrayDT[i];ilegal=1;finish=2;break;} } } if (ilegal==1) {cout<<"Quit this swap operation!";round++;finish=2;} else{ temp=Array3[count+b]; Array3[count+b]=Array3[count+a]; Array3[count+a]=temp; temp=Array3[count+b]; cout<<"DA LI ME VIDIS"; if (((Array3[count+a])==100)||((Array3[count+b])==100)) {cout<<"********2*********!"<<endl;finish=1; break;} for (int i=0; i<=len; i++) { if (Array1[i]==temp) { count2=(i/4)*4; } } Array1[count2+a]=Array1[count2+b]; Array1[count2+b]=temp; temp=Array1[count2+a]; //cout<<"???????"; if (((Array1[count2+a])==100)||((Array1[count2+b])==100)){cout<<"*********3*********!"<<endl;finish=1;break;} if (finish=0){ for (int i=0; i<=len; i++) { for (int j=0; j<=len; j++) { if ((((Array1[i])==(Array3[j]))&&((i%4)!=(j%4)))&&((Array1[i]!=100)&&(Array3[j]!=100))) {cout<<"Impossible operation!";finish=2; break;}}} }} round++; }while ((finish==0));//||(finish=2)); cout<<"FINISH:"<<finish<<endl; if (finish==1) {control2=1;} if (finish==2) {control2=-1;} return control2; }

//#################################### HW UpLink ################################## void HW_UL(int a1[], int a2[]){ //string ToBinaryString(int,int ); void WhatToChange(int[],string,int); void writeReg(string); int Hmat_UL[12][6]; int A1[12], A2[12]; for (int i=0; i<=11; i++){ A1[i]=a1[i]; cout<<A1[i]<<endl; } int j=0, y=0; for (y=0, j=0; y<=11, j+1<=len; y++, j++){ if ((j+1)%4==0) {j++;

112

Appendix A1

} //cout<<j<<"\t"<<y<<endl; A2[y]=a2[j]; } for (int i=0;i<=11;i++){ cout<<A2[i]<< endl;} cout<<"####### HardWare UpLink ##########"<<endl; int k=27; for (int i=0; i<=11; i++){ int set=(i/3)*3; if (A2[i]>11) {A2[i]=100;} A2[i]=(A2[i]/4)+set; if (A2[i]>11) {A2[i]=100;} //cout<<A2[i]<<endl; //Hmat_UL is 6 column matrix: Hmat_UL[i][0]=0x20; //1st column - EVB 0 address Hmat_UL[i][2]=A1[i]; //2nd column - Low Level array (connections) of board 0 - array index is a output, value@index is a input Hmat_UL[i][1]=k/2; //3rd column - the register address EVB 0 Hmat_UL[i][4]=k/2; //4th column - the register address EVB 1 k--; Hmat_UL[i][3]=0x21; //5th column - EVB 1 address Hmat_UL[i][5]=A2[i]; //6th column - //2nd column - Low Level array (connections) of board 1 for (int j=0;j<=5;j++){ cout<<Hmat_UL[i][j]<<"\t";} //check print cout<<endl; } for (int i=0;i<12;i++){ cout<<A1[i]<<"\t"<<prevA1U[i]<<"\t\t"<<A2[i]<<"\t"<<prevA2U[i]<<endl; prevA2U stores the connection state in previous step (used to open or close the outputs not in use) } for (int i=0; i<12; i++){ if ((A1[i]==100)&&(prevA1U[i]!=100)) { //DWORD writeI2C=mtcWriteI2C(0x20, 76-i, 0x00); to appropriate register for board 0 the value 0x00, meaning close the output Sim(0x20, 76-i, 0x00); } if ((A1[i]!=100)&&(prevA1U[i]==100)){ //DWORD writeI2C=mtcWriteI2C(0x20, 76-i, 0x60); the output Sim(0x20, 76-i, 0x60); } if ((A2[i]==100)&&(prevA2U[i]!=100)) { //DWORD writeI2C=mtcWriteI2C(0x21, 76-i, 0x00); the output Sim(0x21, 76-i, 0x00); } if ((A2[i]!=100)&&(prevA2U[i]==100)){ //DWORD writeI2C=mtcWriteI2C(0x21, 76-i, 0x60); the output Sim(0x21, 76-i, 0x60); } } int boardAddr=0x20; WhatToChange(A1,"reg0.txt",boardAddr); boardAddr=0x21; WhatToChange(A2,"reg1.txt",boardAddr); for (int i=0;i<12;i++){ prevA1U[i]=A1[i]; the prevA1U... for the next operation prevA2U[i]=A2[i]; } //prevA1U &

//writes

//opens

//close

//opens

//going to bit level //going to bit level //update

//################################# HW DownLink void HW_DL(int d1[], int d2[]){

############################## //equivalent to HW

Uplink function void WhatToChange(int[],string,int); int set=0; int l=0;

113

Appendix A1

int a1[16]={100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}; int rev2[16]={100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}; int REV2[12]={100,100,100,100,100,100,100,100,100,100,100,100}; int D2[12],D1[12]; for (int i=0; i<=len; i++) { if (d2[i]!=100) { set=(i/4)*4; l=(d2[i]/4); rev2[set+l]=d2[i]; } } //cout<<"Intermediate state for downlink:"<<endl; for (int i=0;i<=len; i++){cout<<"xxxxxxxxx"<<rev2[i]<<endl;} for (int i=0; i<=len; i++ ){ for (int k=0; k<=len;k++){ if (d1[k]==i){ a1[i]=i; }}} //cout<<"Intermediate state 1 for downlink:"<<endl; //for (int i=0;i<=len; i++){cout<<d1[i]<<"******"<<a1[i]<<endl;} int Hmat_DL[12][6]; int A1[12]={100,100,100,100,100,100,100,100,100,100,100,100}; int A2[12]={100,100,100,100,100,100,100,100,100,100,100,100}; int REV1[12]; //int memPrevHmat_DL[12][2]; for (int i=0; i<=11; i++){ REV1[i]=a1[i]; D1[i]=d1[i]; cout<<"D1..."<<D1[i]<<endl; } int j=0, y=0; for (y=0, j=0; y<=11, j+1<=len; y++, j++){ if ((j+1)%4==0) {j++; } //cout<<j<<"\t"<<y<<endl; //A2[y]=rev2[j]; D2[y]=d2[j]; REV2[y]=rev2[j]; } for (int i=0;i<=11;i++){ if(REV1[i]!=100){ for (int j=0;j<=11;j++){ if (REV1[i]==D1[j]) {A1[i]=j; } } }} for (int i=0;i<=11;i++){ if(REV2[i]!=100){ for (int j=0;j<=11;j++){ if (REV2[i]==D2[j]) {A2[i]=j; } } }} //for (int i=0;i<=11;i++){cout<<"/////"<<A2[i]<<endl;} cout<<"####### HardWare DownLink ##########"<<endl; int k=27; for (int i=0; i<=11; i++){ if (A2[i]>11) {A2[i]=100;} //cout<<A2[i]<<endl; Hmat_DL[i][0]=0x22; Hmat_DL[i][2]=A1[i]; Hmat_DL[i][1]=k/2; Hmat_DL[i][4]=k/2; k--; Hmat_DL[i][3]=0x23; Hmat_DL[i][5]=A2[i]; for (int j=0;j<=5;j++){ cout<<Hmat_DL[i][j]<<"\t";} cout<<endl; } for (int i=0;i<12;i++){ cout<<A1[i]<<"\t"<<prevA1D[i]<<"\t\t"<<A2[i]<<"\t"<<prevA2D[i]<<endl; }

114

Appendix A1

for (int i=0; i<12; i++){ if ((A1[i]==100)&&(prevA1D[i]!=100)) { //DWORD writeI2C=mtcWriteI2C(0x22, 76-i, 0x00); Sim(0x22, 76-i, 0x00); } if ((A1[i]!=100)&&(prevA1D[i]==100)){ //DWORD writeI2C=mtcWriteI2C(0x22, 76-i, 0x60); Sim(0x22, 76-i, 0x60); } if ((A2[i]==100)&&(prevA2D[i]!=100)) { //DWORD writeI2C=mtcWriteI2C(0x23, 76-i, 0x00); Sim(0x23, 76-i, 0x00); } if ((A2[i]!=100)&&(prevA2D[i]==100)){ //DWORD writeI2C=mtcWriteI2C(0x23, 76-i, 0x60); Sim(0x23, 76-i, 0x60); } } int boardAddr=0x22; WhatToChange(A1,"reg2.txt",boardAddr); boardAddr=0x23; WhatToChange(A2,"reg3.txt",boardAddr); for (int i=0;i<12;i++){ prevA1D[i]=A1[i]; prevA2D[i]=A2[i]; }

//########################################## ARRAY 1 INITIALIZING ############################################### void InitialArray1() { ofstream output("inArray1.csv"); int array1[16]; for(int i=0;i<16;i++) { cout<<"Insert value for index "<<i<<" for Array1"<< endl; cin>>array1[i]; output<<array1[i]<<endl; } } //########################################## ARRAY 3 INITIALIZING ############################################### void InitialArray3() { ofstream output("inArray3.csv"); int array1[16]; for(int i=0;i<16;i++) { cout<<"Insert value for index "<<i<<" for Array3"<<endl; cin>>array1[i]; output<<array1[i]<<endl; } }

//############################################ READ 1 ############################################################# //reads the array1 from file Niz read1(){ int x; ifstream infile("inArray1.csv"); if (!infile) { cout << "There was a problem opening file " << endl; } int R[16]; int z=0; while (infile >> x ) {

115

Appendix A1

R[z]=x; z++; } for (int i=0; i<16; i++){ cout<<"#"<<R[i]<<endl; } Niz var; var =(Niz)calloc(1,sizeof *var); for (int i=0; i<=len;i++) { (*var)[i]=R[i]; } return var; }

//########################################### READ 3 ################################################################# Niz read3(){ int y=0; ifstream infile("inArray3.csv"); if (!infile) { cout << "There was a problem opening file " << endl; } int R[16]; int z=0; while (infile >> y ) { R[z]=y; z++; } for (int i=0; i<16; i++){ cout<<"#3"<<R[i]<<endl;} Niz var; var =(Niz)calloc(1,sizeof *var); for (int i=0; i<=len;i++) { (*var)[i]=R[i]; } return var; } //############################################# WRITE 1 ################################################################ //write array1 to file void write1(int R1[]){ ofstream output("inArray1.csv"); for(int i=0;i<16;i++) { output<<R1[i]<<endl; } } //############################################# WRITE 2 ################################################################ void write2(int R2[]){ ofstream out1; out1.open ("inArray2.csv"); //int array1[16]; for(int i=0;i<16;i++) { if ((i+1)%4==0) {cout<<"SKIP writting"; } else { out1<<R2[i]<<endl; } } out1.close(); int reverse2[16]={100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}; int index, t; ofstream out2; out2.open ("Array2Reversed.csv"); for (int i=0; i<=len; i++) { if ((i+1)%4==0) {cout<<"SKIP writting";}

116

Appendix A1

else{ if (R2[i]!=100) { index=(i/4)*4; t=(R2[i]/4); reverse2[index+t]=R2[i];} }} for (int i=0; i<len;i++) { if ((i+1)%4==0) { } else {out2<<reverse2[i]<<endl; } } out2.close();

} //################################################ WRITE 3 ################################################################ void write3(int R3[]){ ofstream output("inArray3.csv"); //int array1[16]; for(int i=0;i<16;i++) { output<<R3[i]<<endl; } } //############################################### LOG ########################################################## //logs all the operations void log (int in_user, int out_OP, int act){ char* s; time_t log_time=time(0); char* i=ctime(&log_time); ofstream output("log.txt", ios::app); if (act==1){ s="REMOVE"; output<<i<<s<<endl<<"User: "<<in_user<<"\n_____________________________"<<endl; } else if (act==2) { s="ADD"; output<<i<<s<<endl<<"User: "<<in_user<<" to Operator: "<<out_OP<<"\n_____________________________"<<endl; } else {s="Unrecognized Operation";}

} //########################################## GUI Input - NOT USED ################################################# int GUIinput (){ int i; char* file="input.txt"; ifstream infile (file); if (!infile) { cout << "There was a problem opening file " << file << " for reading." << endl; return 0; } cout << "Opened " << file<< " for reading." << endl; infile>>i; return i; } //############################## reading out operator from file created by GUI ####################### //not used int GUIout(){ int o; char* fileOut="out.txt"; ifstream infile (fileOut); if (!infile) { cout << "There was a problem opening file "

117

Appendix A1

<< fileOut << " for reading." << endl; return 0; } cout << "Opened " << fileOut<< " for reading." << endl; infile>>o; return o; } // ########################################### reading action from file created by GUI ######################## //not used int GUIaction(){ int a; char* fileAc="action.txt"; ifstream infile (fileAc); if (!infile) { cout << "There was a problem opening file " << fileAc << " for reading." << endl; return 0; } cout << "Opened " << fileAc<< " for reading." << endl; infile>>a; return a; } //########################################SWAP ALL function ##################################### void swap_all(int Array1[], int Array3[], int in_user, int output) { int a=0,b=0; int set1=(in_user/4)*4; int set2=output*4; for (int i=set1; i<=set1+3; i++) { if (Array1[i]==100) { a=i%4; break;} } for (int j=set2; j<=set2+3; j++) { if (Array3[j]==100) { b=j%4; break; } } //cout<<a<<b; int count=0, count2=0,temp=0, temp2=0; int finish=0,control2=0; int ilegal=0; int round=0; do { //cout<<"Round:"<<round<<endl; if (round==0){ temp=Array3[set2+a]; Array3[set2+a]=Array3[set2+b]; Array3[set2+b]=temp; Array1[set1+a]=in_user; Array3[set2+a]=in_user; for (int i=0;i<=len;i++){cout<<Array1[i]<<"------"<<Array3[i]<<endl;} if (((Array3[set2+a])==100||(Array3[set2+b])==100)){finish=1;break;} } for (int i=0; i<=len; i++) { if (Array1[i]==temp) { count=(i/4)*4; } }

temp=Array1[count+a]; Array1[count+a]=Array1[count+b]; Array1[count+b]=temp; temp=Array1[count+a]; if (((Array1[count+a])==100)||((Array1[count+b])==100))

118

Appendix A1

{/*cout<<"DRUGI USLOV!"<<endl*/;finish=1; break;} for (int i=0; i<=len; i++) { if (Array3[i]==temp) { count2=(i/4)*4; } } Array3[count2+b]=Array3[count2+a]; Array3[count2+a]=temp; temp=Array3[count2+b]; if (((Array3[count2+a])==100)||((Array3[count2+b])==100)){/*cout<<"TRECI USLOV!"<<endl*/;finish=1;break;} if (finish=0){ for (int i=0; i<=len; i++) { for (int j=0; j<=len; j++) { if ((((Array1[i])==(Array3[j]))&&((i%4)!=(j%4)))&&((Array1[i]!=100)&&(Array3[j]!=100))) {cout<<"Impossible operation!";finish=2; break;}}} } round++; }while ((finish==0));//||(finish=2)); //while((array1[count+a]==100||array1[count+b]==100)(array3[count])); //cout<<finish; for (int i=0; i<=len; i++){ cout<<Array1[i]<<"++++++++++++"<<Array3[i]<<endl;} cout<<"STEP 10 COMPLETED!!!"; //for (int i=0; i<=len; i++){ cout<<Array3[i]<<endl;} //if (finish==1) {control2=1;} //if (finish==2) {control2=-1;} //return control2 ; }

//##################### What to Change function (write registers trigger) ################## void WhatToChange(int LLA[],string regname, int boardNum){ string ToBinaryString(int num1,int num2) ; int FromBinary(string ); BYTE value, reg_address, board_address; cout<<"****************************Board "<<boardNum<<"*********************************"<<endl; int r=13; string R[6]; ifstream readReg;

readReg.open(regname); char reg[9]; char buffer[9]; int reg_addr; string bitsToChange; string PrReg[6]; for (int j=1, g=0;j<=12 && g<=5;j=j+2,g++){ cout<<"For register "<<r<<": \n"; R[g]=ToBinaryString(LLA[j],LLA[j-1]); cout<<g<<endl; cout<<R[g]<<endl; strcpy(buffer,R[g].c_str());

//opens the file register

readReg.getline(reg,9); PrReg[g]=reg; cout<<"\n****************"<<PrReg[g]<<endl; cout<<buffer<<"****************"<<reg<<endl; if (strcmp(buffer,reg)!=0) //if bits in file register (last configuration) and bits gotten from the new configuration are different the the new bits have to be written to appropriate board register { cout<<"TO CHANGE register: "<<r<<endl; reg_addr=r; bitsToChange=buffer; value=FromBinary(bitsToChange); cout<<"\t\t################## TRIGGER ##################"<<endl; cout<<"\t\t## WRITE "<<bitsToChange<<" to register "<<reg_addr<<" of board "<<boardNum<<" ##"<<endl; printf("\t\t## WRITE %x to register %x of board %x ###\n", value, reg_addr, boardNum); printf("\t\t## "); //DWORD writeI2C=mtcWriteI2C(boardNum, reg_addr, value); //rite to boards (boardNum) register the changed value Sim(boardNum, reg_addr, value); cout<<"\t\t################################################"<<endl;

119

Appendix A1

} r--; } readReg.close(); ofstream regfile; regfile.open(regname); for (int i=0;i<=5;i++){ regfile<<R[i]<<"\n";} regfile.close(); cout<<"****************************FINISH********************************"<<endl; } string ToBinaryString(int num1,int num2) { //transfo rms two integers in string of 8 bits if(num1==100){num1=15;} if(num2==100){num2=15;} int bits1[4]={0,0,0,0}; int bits2[4]={0,0,0,0}; cout<<"Numbers: "<<num1<<"+"<<num2<<" binary: "; for (int f=3;f>=0;f--){ bits1[f]=num1%2; num1=num1/2; bits2[f]=num2%2; num2=num2/2; } string bitstr; for (int i=0;i<=3;i++){ char c='0'+bits1[i]; stringstream ss; string s; ss << c; ss >> s; bitstr.append(s); } for (int i=0;i<=3;i++){ char c='0'+bits2[i]; stringstream ss; string s; ss << c; ss >> s; bitstr.append(s); } //cout<<"\n++++"<<bitstr<<endl; return bitstr; } int FromBinary(string bitString){ //transform the string of bits in Int unsigned int number = 0; double exp = 7; double base=2; cout<<bitString<<endl; for(int i=0; i<=7; i++) { if(bitString[i] == '1') { number += pow(base, exp); } exp--; } unsigned int orig_number=number; cout<<bitString<<"------"<<orig_number<<endl; return orig_number; } void Sim (BYTE b_addr, BYTE r_addr, BYTE val) { //function that simulates the board API call (takes the same arguments as inputs) //just for testing if (r_addr==0x03) { if (val==0x2B) {printf("Board %x set in Group Switch Mode\n", b_addr);} else if (val==0x0B) {printf("Board %x set in Lane Switch Mode\n", b_addr);} } if (r_addr==0x41) {

120

Appendix A1

if (val==0x00) {printf("Output 11 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 11 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x42) { if (val==0x00) {printf("Output 10 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 10 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x43) { if (val==0x00) {printf("Output 9 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 9 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x44) { if (val==0x00) {printf("Output 8 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 8 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x45) { if (val==0x00) {printf("Output 7 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 7 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x46) { if (val==0x00) {printf("Output 6 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 6 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x47) { if (val==0x00) {printf("Output 5 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 5 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x48) { if (val==0x00) {printf("Output 4 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 4 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x49) { if (val==0x00) {printf("Output 3 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 3 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x4A) { if (val==0x00) {printf("Output 2 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 2 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x4B) { if (val==0x00) {printf("Output 1 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 1 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x4C) { if (val==0x00) {printf("Output 0 of the board %x is Disabled\n", b_addr);} if (val==0x60) {printf("Output 0 of the board %x is Enabled\n", b_addr);} } if (r_addr==0x08) { printf("Outputs 11&10 of the board %x are configured with value %x\n", b_addr, val); } if (r_addr==0x09) { printf("Outputs 9&8 of the board %x are configured with value %x\n", b_addr, val); } if (r_addr==0x0A) { printf("Outputs 7&6 of the board %x are configured with value %x\n", b_addr, val); } if (r_addr==0x0B) { printf("Outputs 5&4 of the board %x are configured with value %x\n", b_addr, val); } if (r_addr==0x0C) { printf("Outputs 3&2 of the board %x are configured with value %x\n", b_addr, val); } if (r_addr==0x0D) { printf("Outputs 1&0 of the board %x are configured with value %x\n", b_addr, val); }

void sendUserOpArray (int OperatorArray[]){ //opens a socket and sends the info to OP GUI for the User/Operator table int arrayForTable[12]={0,0,0,0,0,0,0,0,0,0,0,0}; Niz inArrayForTable=read3(); int inAForTable[12]; for (int i=0;i<12;i++){ inAForTable[i]=(*inArrayForTable)[i]; } int Stato_Op_Extended[12]; for (int i=0; i<12;i++){ Stato_Op_Extended[i]=OperatorArray[i/4]; //cout<<Stato_Op_Extended[i]<<endl; } for (int i=0;i<12;i++){ for (int j=0;j<12; j++) { if (inAForTable[j]==i) { arrayForTable[i]=Stato_Op_Extended[j];} }

121

Appendix A1

} string s[12]; for (int i=0;i<12;i++){ if (arrayForTable[i]==1){ s[i]="Vodafone"; } if (arrayForTable[i]==2){ s[i]="Telecom Italia"; } } ClientSocket sockClient2; stringstream ss; string messToSendS; for (int i=0;i<12;i++){ ss<<arrayForTable[i]; ss<<"|"; } char messToSend[STRLEN]; messToSendS=ss.str(); //cout<<messToSendS<<endl; for (int i=0;i<messToSendS.size();i++){ messToSend[i]=messToSendS[i]; } messToSend[messToSendS.size()]='\0'; //int messToSendInt={1,2,3,4,5,6,7}; cout<<"\t--WAIT--"<<endl; cout<< "S E N D I N G . . ."<<endl; cout<<messToSend<<endl;

sockClient.GetAndSendMessage(ipAddress.c_str(), Tport, messToSend);

} void createInitialFileRegisterState(){ the master reset string fileName[4]={"reg0.txt","reg1.txt","reg2.txt","reg3.txt"}; for (int i=0;i<4;i++){ ofstream initRegFile; initRegFile.open(fileName[i]); initRegFile<<"01010100"<<"\n"<<"01110110"<<"\n"<<"00010000"<<"\n"<<"00110010"<<"\n"<<"10011000"<<"\n"<<"10111010"< <"\n"; initRegFile.close(); } } void sendToMonitoring(int a1[], int a2[],int OpState[]) { stringstream sss; string toSendS; for (int i=0;i<12;i++) { sss<<a1[i]; sss<<"|"; } sss<<"#"; for(int i=0;i<16;i++) { if ((i+1)%4==0) { } else { sss<<a2[i]; sss<<"|"; } } sss<<"*"; for (int i=0;i<3;i++) {sss<<OpState[i];sss<<"|"; } /* for (int i=0;i<12;i++) { sss<<a2[i]; sss<<"|"; //opens a socket and sends info needed for Monitoring GUI //writes the default values of registers after

122

Appendix A1

} */ toSendS=sss.str(); char toSend[STRLEN]; for (int i=0;i<toSendS.size();i++){ toSend[i]=toSendS[i]; } toSend[toSendS.size()]='\0'; cout<<"Sending... "<<toSend<<endl; socket3.GetAndSendMessage(MonitoringIpAddress.c_str(), Tport+3, toSend); }

bool copyFile (const char SRC[], const char DEST[]) { n used to copy the prepared initial configurations as actual configuration ifstream src; // the source file ofstream dest; // the destination file src.open (SRC, std::ios::binary); dest.open (DEST, std::ios::binary); if (!src.is_open() || !dest.is_open()) return false; dest << src.rdbuf (); // copy the content dest.close (); src.close (); cout<<"DONE IN copyFile Function!"<<endl; return true; }

//functio

123

Table of figures

Table of figures
FIGURE 1. EVOLUTION OF OPTICAL ACCESS TECHNOLOGIES FOR DIFFERENT MARKET SEGMENTS..........................................14 FIGURE 2. REVENUE FORECAST FOR PON TECHNOLOGIES........................................................................17 FIGURE 3 FTTX ARCHITECTURES...............................................20 FIGURE 4. PASSIVE AND ACTIVE OPTICAL NETWORKS...................23 FIGURE 5 POINT-TO-POINT FTTH..............................25 FIGURE 6. PASSIVE OPTICAL NETWORK BASED ON TDM - DOWNLINK ...............................................................................................26 FIGURE 7. PASSIVE OPTICAL NETWORK BASED ON TDM - UPLINK. .27 FIGURE 8. WDM PON DEPLOYMENT.............................................28 FIGURE 9. TYPICAL GPON BIT-STREAM UNBUNDLING....................39 FIGURE 10. STACKED GPON (ONE WAVELENGTH PER OPERATOR ).40 FIGURE 11. POINT-TO-POINT DEPLOYMENT..................................41 FIGURE 12. WDM-PON DEPLOYMENT...........................................43 FIGURE 13. REFERENCE NETWORK ARCHITECTURE (OPEN ACCESS SCENARIO) BASED ON THE SHARING OF THE ARCHITECTURE AND HE AMONG OPERATORS............................................................46 FIGURE 14. TRAFFIC AGGREGATION AND CONCENTRATION...........47 FIGURE 15. REFERENCE ARCHITECTURE SCHEME..........................49 FIGURE 16. SMALL SWITCH APPROACH........................................50 FIGURE 17. LARGE SWITCH APPROACH........................................52 FIGURE 18. SWITCH MATRIX SOLUTION BASED ON THE WAVELENGTH UNBUNDLING CONCEPT.......................................54 FIGURE 19. UNBUNDLING SWITCHING MATRIX MODULE AS A THREE STAGE CLOS SWITCHING NETWORK...........................................54 FIGURE 20. SYMMETRIC (N=M) THREE STAGE CLOS NETWORK. .55 FIGURE 21. ASYMMETRIC CLOS NETWORK WITH M>N...................55 FIGURE 22. NUMBER OF CROSS POINTS FOR N=20000 WHEN 0<M<=N..................................................................................56

Table of figures
FIGURE 23. OPTIMIZED NETWORK...............................................57 FIGURE 24. NUMBER OF CROSS POINTS FOR DIFFERENT CONFIGURATIONS OF THE CONNECTION NETWORK.....................58 FIGURE 25. EXAMPLE OF MODIFIED PAULL MATRIX......................60 FIGURE 26. EXAMPLE, TWO OPERATORS SHARING A NETWORK SERVING 16 SEUBSCRIBERS. INITIAL STATE................................64 FIGURE 27. STEP 5.....................................................................65 FIGURE 28. STEP 7.B..................................................................65 FIGURE 29. STEP 5.A..................................................................66 FIGURE 30. EXAMPLE FINALE STATE............................................67 FIGURE 31. BASIC MODULE OF THE PROPOSED ARCHITECTURE.....68 FIGURE 32. LOGICAL STRUCTURE OF THE HE NODE......................69 FIGURE 33. HE NODE IN THE ACCESS NETWORK AND ITS MODULAR APPROACH...............................................................................70 FIGURE 34. HE DEMONSTRATOR BASED ON LAYER 1 UNBUNDLING73 FIGURE 35. LAYER 1 UNBUNDLING DEMO BLOCK SCHEME.............74 FIGURE 36. INTERCONNECTION SCHEME......................................75 FIGURE 37. LOGICAL SCHEME OF THE DEMONSTRATOR................75 FIGURE 38. IMPLEMENTATION BY TWO 12X12 SWITCHING ELEMENTS (ONE DIRECTION).....................................................76 FIGURE 39. IMPLEMENTATION BY FOUR 12X12 SWITCHING ELEMENTS (BIDIRECTIONAL).....................................................76 FIGURE 40. MINDSPEED TWELWE-CHANNEL CROSSPOINT SWITCH EVALUATION BOARD.................................................................77 FIGURE 41. INTERCONNECTION SCHEME FOR EVALUATION BOARDS UPLINK....................................................................................78 FIGURE 42. INTERCONNECTION SCHEME FOR EVALUATION BOARDS DOWNLINK...............................................................................79 FIGURE 43. SMA CABLE CONNECTORS.........................................79 FIGURE 44. CONTROL INTERFACE FOR ONE BOARD......................80 FIGURE 45. CONTROL CONNECTION SCHEME................................81 FIGURE 46. MANAGEMENT INTERFACE.........................................84 FIGURE 47. MONITORING INTERFACE...........................................85 FIGURE 48. USE CASE VIEW........................................................86 FIGURE 49. ACTORS...................................................................86

125

Table of figures
FIGURE 50. CREATE USER-OPERATOR TABLE USE CASE.................87 FIGURE 51. MANAGEMENT INTERFACE - CREATE USER-OPERATOR TABLE .....................................................................................88 FIGURE 52. ADD USER USE CASE.................................................89 FIGURE 53. MANAGEMENT INTERFACE ADD USER.......................89 FIGURE 54. UNBUNDLING USE CASE............................................90 FIGURE 55. MANAGEMENT INTEFACE - UNBUNDLING....................91 FIGURE 56. REMOVE USER USE CASE...........................................91 FIGURE 57. MANAGEMENT INTERFACE REMOVE USER................92 FIGURE 58. LOAD INITIAL CONFIGURATION USE CASE...................92 FIGURE 59. MANAGEMENT INTERFACE LOAD INITIAL CONFIGURATION......................................................................93 FIGURE 60. SOFTWARE STRUCTURE............................................94 FIGURE 61. MAIN DATA STRUCTURE USED IN ALGORITHM MODULE ...............................................................................................96 FIGURE 62. EXAMPLE OF DATA STRUCTURE.................................97 FIGURE 63. MAIN DATAT STRUCTURE USED IN HARDWARE CONTROL MODULE..................................................................................98 FIGURE 64. DATA STRUCTURE EXAMPLE......................................98 FIGURE 65. CREATE USER-OPERATOR SEQUENCE DIAGRAM.........100 FIGURE 66. ADD USER SEQUENCE DIAGRAM...............................101 FIGURE 67. UNBUNDLING SEQUENCE DIAGRAM..........................102 FIGURE 68. REMOVE USER SEQUENCE DIAGRAM.........................103 FIGURE 69. LOAD INITIAL CONFIGURATION SEQUENCE DIAGRAM.104

126

References

References

Network Evolution Gemma Vall-llosera - Ericsson Internal document

Optical access market overview and open access network scenario Luca Baldini, Filippo Ponzini Ericsson Internal document

Open optical access solution based on physical and logical (WDM) point-to-point Luca Baldini ,Filippo Ponzini - Ericsson Internal document

Demonstration of a 1GgE WDM-PON solution for wavelength unbundling Luca Baldini - Ericsson Internal document

PON in Adolescence: From TDMA to WDM-PON Klaus Grobe, Jorg-Peter Elbers ADVA AG Optical

Networking http://ieeexplore.ieee.org/xpl/freeabs_all.jsp? arnumber=4427227 Fiber to the Home/Fiber to the Premises: What, Where, and When? Ton Koonen IEEE http://w3.ele.tue.nl/fileadmin/ele/TTE/ECO/Files/Pubs_2006/K oonen_Fiber_Home_IEEE_pr_mei_06.pdf Izgradnja digitalnih gradova Zeljko Popovic -

Ericsson Nikola Tesla Croatia

References http://www.ericsson.com/hr/etk/revija/Br_1_2008/digitalni_grad .pdf

FTTH Look Ahead: Technologies & Architecture Cedric F. Lam Google Inc. http://static.googleusercontent.com/external_content/untrusted _dlcp/research.google.com/en//pubs/archive/36936.pdf

Next Generation Access Network G. Ciccarella Telecom Italia http://www.wirelessforum.it/dem/dem172NGN/materiali/Ciccar ella.pdf

128