WAVELENGTH REGENERATION IN A NETWORK
An optical network including a plurality of gateway nodes interconnected with a plurality of intermediate nodes with segments of fiber. The network includes a plurality of devices, such as reconfigurable optical add drop multiplexers, optimally placed at various nodes throughout the network. The device placement is optimized with an integer linear programming analysis considering span definition such that any given span involves some number of segments not exceeding a number of segments that would require wavelength regeneration, cost of placement of a device at a given node, cost of wavelength regeneration, and various parameters and constraints.
- 1. -4. (canceled)
- 5. A system for optimizing a telecommunications network, the system comprising:
at least one processor; and memory, operatively connected to the at least one processor and containing instructions that, when executed by the at least one processor, cause the system to; access information describing fiber segments in the telecommunications network; identify, based on the information, a plurality of spans of the fiber segments in the telecommunications network that can be traversed by a wave without intermediate regeneration; generate an optimal placement for at least one regeneration device in the telecommunications network based on at least; a constraint requiring that, for at least a particular span of the identified spans, the particular span does not exceed a maximum number of intermediate nodes that are interconnected without intermediate regeneration; and cause display of the optimal placement for the at least one regeneration device in a graphical user interface.
- View Dependent Claims (6, 7, 8, 9, 10, 11)
- 12. A method for determining an optimal placement for a regeneration device in a telecommunications network, comprising:
identifying a set of possible spans of the telecommunications network, wherein each possible span of the set of possible spans; can be traversed by a wave without intermediate regeneration; and comprises a plurality of nodes that are interconnected by one or more fiber segments of the telecommunications network; determining, based on the set of possible spans, an optimal placement for a regeneration device in the telecommunications network according to a constraint requiring that, for at least a particular span of the set of possible spans, the particular span does not exceed a maximum number of intermediate nodes that are interconnected without intermediate regeneration; and generating a user interface comprising a display of the optimal placement for the regeneration device in a graphical user interface.
- View Dependent Claims (13, 14, 15, 16, 17)
- 18. A method for optimizing a telecommunications network, the method comprising:
accessing information describing fiber segments in the telecommunications network; determining, based on the information, a plurality of spans of the fiber segments in the telecommunications network that can be traversed by a wave without intermediate regeneration; generating an optimal placement for at least one regeneration device in the telecommunications network based on at least; a constraint requiring that, for at least a particular span of the identified spans, the particular span does not have more than a maximum number of intermediate nodes that are interconnected without intermediate regeneration; and causing display of the optimal placement for the at least one regeneration device in a graphical user interface.
- View Dependent Claims (19, 20, 21, 22, 23, 24)
This application is a continuation of and claims the benefit of priority to U.S. application Ser. No. 13/225,712 titled “Wavelength Regeneration in a Network,” filed Sep. 6, 2011, which is hereby incorporated by reference herein. Application Ser. No. 13/225,712 claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 61/413,936 titled “Wavelength Regeneration in a Network,” filed on Nov. 15, 2010, which is hereby incorporated by reference herein.
Embodiments presently disclosed generally relate to network communications. More specifically, embodiments herein relate to regeneration of wavelengths in a network and the devices associated therewith.
Fiber-optic communication involves transmitting information between devices by sending light waves through an optical fiber. Fiber-optic communication systems have revolutionized the telecommunications industry and have played a major role in the evolution of the Internet and the sharing and transmitting of data in general. With numerous advantages over electrical transmission, optical fiber-based communications are replacing copper wire based communications in networks throughout the world.
Wavelength-division multiplexing (WDM) is a technology that combines, or multiplexes, optical carrier signals on a single optical fiber using different wavelengths (colors) of light. Stated differently, data is not only encoded into a wave of light but also into discrete wavelengths. With WDM, the capacity of an optical network can be dramatically increased as each fiber can carry many different wavelengths of light.
Many optical networks, particularly long-haul (i.e., those networks covering vast distances) and metro networks, include a device or service typically referred to as a ROADM (reconfigurable optical add-drop multiplexer). Generally speaking, a ROADM allows traffic in an optical system to be switched, based on the wavelength of an optical signal. So, without converting the optical signal to an electrical one, a particular wavelength of light can be identified and switched between fibers, or otherwise added or removed from a multiplexed wave bundle. Additionally, a ROADM may be used in conjunction with a regeneration device to regenerate various wavelengths as those wavelengths diminish over various distances. At some point the wavelength diminishes to a level that can no longer be used unless it is regenerated.
The capital costs for regeneration are significant since a regeneration card is needed for each individual wavelength (potentially in the hundreds) traveling over a fiber. Additionally, regeneration may be a significant portion of the overall cost of a network. Moreover, power costs, facility costs, maintenance and other costs for high speed regeneration equipment can be substantial.
Placement of ROADMs and regenerators in an optical network has often been ad-hoc and/or overly dependent on geographical locations of metropolitan areas. Hence, for example, when metropolitan areas are relatively close (e.g., less than 800 miles), then redundant and unnecessary ROADMs and/or regenerators may be placed inefficiently too close to each other. Similarly, when ROADMs are placed in the network, they may add noise to the fiber, requiring more frequent regenerations. For example, ROADMs placed in a network to service a particular customer circuit or circuits, such as in various metropolitan areas, may degrade the other signals that must pass through the ROADM but may not require regeneration. Thus, inefficiently placed ROADM and regeneration devices may have substantial impacts on a fiber network.
It is with these problems and issues in mind, amongst others, that various aspects of the present disclosure were developed.
An aspect of the present disclosure involves a computer-implemented method for optimizing placement of devices at nodes in a network. The computer-implemented method, using at least one processor, comprises, identifying a plurality of spans in a network that can be traversed by a wave without intermediate regeneration. The method further involves identifying a cost associated with placement of a device at a given node in the network and identifying a cost associated with wavelength regeneration in the network. For each given span, the method involves identifying: (a) a maximum number of intermediate nodes for the given span; and, (b) a maximum bandwidth for the given span based on a maximum number of wavelengths for the given span and a maximum wavelength bandwidth. The method further involves specifying a constraint such that if a given span is to carry traffic, the given span may not: (a) have more than the identified maximum number of intermediate nodes for the given span; and (b) carry more than the maximum bandwidth for the given span. The method additionally involves specifying a constraint such that each given span used to carry traffic has a device placed at each node endpoint of the given span. The method applys at least one first linear programming model to a forecasted traffic demand, the identified spans, the identified costs associated with placement of a device at each given node, the identified cost associated with wavelength regeneration in the network, and the one or more specified constraints. From the model, the method identifies one or more nodes in the network at which a device should be placed to handle the forecasted traffic demand and optimize the number of devices to be added to the network.
Aspects of the present disclosure also involve an optical network implemented in accordance with the above-described method. Aspects of the present disclosure also involve a tangible computer readable media including computer executable instructions that when executed by a processor implement the above-described method.
The foregoing and other objects, features and advantages of the invention will be apparent from the following description of particular embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale; emphasis instead being placed on illustrating the principles of the invention.
Aspects of the present disclosure involve systems, methods and apparatuses to optimally place network devices or a group of network devices, such as ROADMs and/or regenerators, in an optical network. Another aspect of the present disclosure involves an optical network or portion of a network including optimally placed ROADM and/or regenerator devices. Embodiments disclosed herein further include methods and systems for use in optimal assignment of circuits to waves and waves to fibers in a network.
Oftentimes, a ROADM is placed at any gateway where a circuit enters or leaves a network (e.g., a longhaul network). Stated differently, a ROADM device is placed at the beginning and end of a circuit. A circuit is a connection from one point in the network to another that provides some available bandwidth to transmit data and information between the points. Oftentimes, a network provider provides a specific circuit to a customer based on an order. A ROADM is also typically needed wherever a wavelength requires regeneration (e.g., every 1000-2000 km, depending on fiber quality). In the case of regeneration, a ROADM device diverts or otherwise routes optical signals from the fiber to the regenerators that regenerate the various wavelengths and then the ROADM device places the regenerated wavelength back onto the fiber. A regenerator (also sometimes referred to as a repeater), which may include an optical-electrical-optical (OEO) repeater, regenerates an optical signal (wavelength) by converting the optical signal to an electrical signal, processing the electrical signal (amplification, noise filtering, error correction, etc.) and then reconverting the electrical signal back to optical. Typically, a regenerator is required for each wavelength. During general network operation, the regeneration costs typically outweigh ROADM costs, and often significantly outweigh ROADM costs. Therefore, it is advantageous to have ROADMs placed so that wavelengths can regenerate as close as possible to their distance limits.
Generally, one tradeoff of adding ROADM devices to a network is that the additional ROADM devices slightly degrade all signals passing through them, whether regenerated or not. As a result, the signals affected by the additional ROADM devices need to be regenerated sooner than they otherwise would. However, the addition of more ROADMs to a network results in more regeneration opportunities (i.e., more points in the network where a regenerator may be placed), which tends to reduce regenerations added in the network because there are more opportunities to regenerate before exceeding a length limit. On the other hand, the addition of more ROADMs in a network also causes more signal degradation, which can result in the need for more regenerations in the network. Thus, optimal ROADM and regeneration placements in the network alleviate such tradeoffs and help minimize or otherwise reduce the costs compared to suboptimal solutions.
In one example embodiment, ROADM placement for a complete network topology that includes gateways, amplifier huts and fiber connections, is determined. A network as discussed herein includes one or more gateway devices, ROADM devices, which may be located at amplifier hut locations and gateways, and fiber interconnecting such devices. The network may be in a long haul configuration or some portion of such a configuration. For reference,
The network may include a large set of circuits representing the demand forecast to be transported on the network (e.g., demand for network traffic, wavelengths, etc.). According to this example embodiment, each circuit is specified by a start point, an end point, and a bandwidth requirement. Further, it is assumed that each gateway (e.g., gateways A-G) has a ROADM device so that each gateway can add and drop network traffic, and that each amplifier hut 22 may or may not be equipped with a ROADM. Each gateway and each amplifier hut represents a node in the network for purposes of this discussion, with segments 20 being sections of fiber between the nodes. As such, ROADM device placement in the network is optimized (e.g., to minimize cost) by specifying: i) which amplifier huts should be equipped with ROADMs, and ii) the location of wavelength regenerations, in this example.
Continuing with the example embodiment above, one or more integer linear programming models may be employed to solve the problem of optimal placement of ROADM devices in a network. Generally speaking, linear programming is a mathematical method for determining a way to achieve some optimal outcome for a complex system. In some cases, linear programming may be limited to the use of integer values in which case the term integer linear programming is used. A linear programming model typically includes four components: variables, parameters, an objective function and constraints. Variables represent the controllable factors that the model solves for, which in this example include the nodes that will include a ROADM device. Parameters represent identifiable data that affect the model or are otherwise factors in solving the problem, such as the cost of placing a ROADM at a node or the start node of a circuit. The objective function quantifies the goal of the model. In this case, for example, Model A minimizes the total cost of ROADMs and wavelength regenerations in the network while Model B determines the wavelengths carried on each network span. Constraints represent requirements to which the model conforms, such as that all gateway nodes include a ROADM. Stated differently, constraints represent requirements needed for a feasible solution.
In the present case, two linear programming models are employed: (i) Model A determines ROADM placement and regeneration locations, and ii) Model B assigns circuits to specific wavelengths.
In preparation for the application of Models A and B, the system may first apply column generation to obtain a list of all possible network spans. More particularly column generation involves the technique of enumerating large numbers of partial solutions to a problem, in this case chains of segments referred to herein as “spans”. Rather than letting the models build their own spans from the segments, column generation precomputes all possible spans and the models choose among them. Although column generation models use many more variables, they often have much simpler constraints and very few non-zeros in their optimal solution, which tends to make them easy to solve.
More particularly, the system, such as a computing system described below with reference to
In the present case, each span starts and ends at some network node: either a gateway or an amplifier site. In the example network shown in
Referring to the example network shown in
Still referring to
To achieve optimal placement of ROADM and regeneration devices in a network configuration, Models A and B are now discussed in more detail. Assume, for example, a binary variable Rn associated with each node (e.g., gateway or amplifier) that specifies whether a ROADM will be placed at that respective node. Further assume, for example, a variable Ss for each potential span that specifies whether the particular span represented by Ss will be used to carry traffic. Further assume, for example, a variable Ws that specifies the number of wavelengths span Ss will carry. Further assume, for example, a variable Xs,c for each span-circuit pair that specifies whether span s carries circuit c. Each of these example variables are defined below.
- Rn=1 if node n has a ROADM, 0 if not (binary)
- Ss=1 if span s is used, 0 if not (binary)
- Xs,c=1 if span s carries circuit c, 0 if not (binary)
- Ws=number of wavelengths carried by span s (integer)
Each node in the network is assigned the various possible variables. Through implementation of the model, the variables Rn, Ss, and Xs,c are set to either a 1 or 0, and the Ws variable is set to an integer value.
The following list identifies example parameters associated with Model A:
- CnR=Cost of ROADM placement at node n
- CW=Cost of wavelength regeneration
- As=Start node of span s
- Zs=End node of span s
- Ns=Number nodes in span s
- Rsmax=Maximum number of ROADMs in span s
s=Maximum number of wavelengths on a single segment
s=Maximum bandwidth of a single wavelength
- Bc=Bandwidth requirement of circuit c
- Ac=Start node of circuit c
- Zc=End node of circuit c
- P(a, z)→Path from node a to z
- ∈→element of set
- :→“such that”
The objective of using Model A in this example embodiment is to minimize the total cost of ROADMs and wavelength regenerations in the network. The model assumes that each wavelength on each span requires regeneration. The objective of Model A is as follows:
Model A may be constrained in various possible ways, some of which are set forth below. As such, the following is not an exhaustive list as more constraints, fewer constraints, one or more variations of these constraints, or any combination thereof, are contemplated for use by Model A in accordance with embodiments disclosed herein. The solution of Model A provides an optimal and feasible solution. However, by modifying the various constraints and other aspects of the model, other feasible solutions may be generated. For example, solving the model may identify a particular amplifier hut to locate a ROADM device. However, other amplifier hut locations, such as adjacent huts to either side of the identified hut, may also present feasible solutions for placement of the ROADM. Moreover, actual network implementation may deviate in some ways from the optimized solution generated through the disclosed model(s). For example, the models may generate a solution of identifying a particular hut for placement of a ROADM device. However, the amplifier hut is determined, at the time of installation, to be unsuitable for the ROADM and the installers install the ROADM at a nearby location separate from the identified hut.
Constraint set 1 specifies that each gateway requires a ROADM:
(1) Rn=1, for all gateway nodes n,
Constraint set 2 specifies that each span used to carry traffic has a ROADM at both endpoints:
Constraint set 3 specifies that if a span is used to carry traffic, it may not have more than its maximum number of intermediate segments placed on its path. Stated differently, a span may not exceed a maximum number of ROADMs along the span above which a wavelength along the span would be degraded to a level rendering the span infeasible:
Constraint set 4 specifies that no span may carry more than its maximum number of wavelengths. Thus, for example, if a span can carry a maximum number of 40 wavelengths and the span is used (Ss=1), then the number of wavelengths carried by the span (Ws) must be 40 or less. Constraint set 4 is redundant with constraint set 5 in that it will always be satisfied by any integer feasible solution even if it is excluded, but it makes the model easier to solve by eliminating many fractional solutions from consideration.
(4) Ws≤WmsxSs, for all spans s,
Constraint set 5 specifies that overlapping spans can carry no more than Wmax (e.g., 40) waves combined. Spans that overlap with other spans on a common fiber segment can only carry a combined number of wavelengths that is the same or less than the total number that the segment can carry. Thus, for example, if two spans pass between the same amplifier huts and use the same segment of fiber, then the combined number of wavelengths on the spans cannot exceed the capability of the fiber.
Constraint 6 specifies that no span can carry more total circuit bandwidth than the combined bandwidth of all of its wavelengths:
Constraint 7 specifies that each circuit traverses a connected chain of spans from its start to its end point:
Similar to Model A, Model B includes Wmax possible wavelengths over which circuits may travel on a single fiber. The objective of Model B is to specify, for a given solution to Model A, the indices of the specific wavelengths (colors) which should be used on each segment. In an example embodiment, the indices according to Model B are selected so that no two overlapping spans share a wavelength of the same index. The following list identifies example variables used in Model B:
Ls,w=1 if span s is lit with wavelength w, 0 if not
In this particular embodiment, the Model B objective is relatively less important as its main purpose is for constraint satisfaction. However, a preference for lower-indexed wavelengths is included when possible. The Model B objective is represented as follows:
Ws=Number of wavelengths carried by span s (from solution to Model A)
Various example constraints can be employed by Model B. The constraints identified below do not represent an exhaustive list and are presented for the purpose of example only. As such, more constraints, fewer constraints, one or more variations of these constraints, or any combination thereof, are contemplated for use by Model B in accordance with embodiments disclosed herein. The solution of Model B provides an optimal and feasible solution but other feasible solutions are possible.
Constraint 1 specifies that each edge may only have one span passing through it that carries each wavelength index:
Constraint 2 specifies that the number of selected wavelength indices for each span should be the number specified by Ws in the solution to Model A:
Main memory 104 can be Random Access Memory (RAM), or any other dynamic storage device(s) commonly known in the art. Read-only memory 106 can be any static storage device(s) such as Programmable Read-Only Memory (PROM) chips for storing static information such as instructions for processor 102. Mass storage 107 can be used to store information and instructions. For example, hard disks such as the Adaptec® family of Small Computer Serial Interface (SCSI) drives, an optical disc, an array of disks such as Redundant Array of Independent Disks (RAID), such as the Adaptec® family of RAID drives, or any other mass storage devices may be used.
Bus 101 communicatively couples processor(s) 102 with the other memory, storage and communications blocks. Bus 101 can be a PCI/PCI-X, SCSI, or Universal Serial Bus (USB) based system bus (or other) depending on the storage devices used. Removable storage media 105 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc-Read Only Memory (CD-ROM), Compact Disc-Re-Writable (CD-RW), Digital Video Disk-Read Only Memory (DVD-ROM), etc.
Embodiments herein may be provided as a computer program product, which may include a machine-readable medium having stored thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process, such as the various network optimization methods and any discrete operations discussed herein. The machine-readable medium may include, but is not limited to, floppy diskettes, optical discs, CD-ROMs, magneto-optical disks, ROMs, RAMs, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, embodiments herein may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., modem or network connection).
As shown, main memory 104 is encoded with network optimizer application 150-1 that supports functionality as discussed herein. Network optimizer application 150-1 (and/or other resources as described herein) can be embodied as software code such as data and/or logic instructions (e.g., code stored in the memory or on another computer readable medium such as a disk) that supports processing functionality according to different embodiments described herein. During operation of one embodiment, processor(s) 102 accesses main memory 104 via the use of bus 101 in order to launch, run, execute, interpret or otherwise perform the logic instructions of the network optimizer application 150-1. Execution of network optimizer application 150-1 produces processing functionality in network optimizer process 150-2. In other words, the network optimizer process 150-2 represents one or more portions of the network optimizer application 150-1 performing within or upon the processor(s) 102 in the computer system 100.
It should be noted that, in addition to the network optimizer process 150-2 that carries out method operations as discussed herein, other embodiments herein include the network optimizer application 150-1 itself (i.e., the un-executed or non-performing logic instructions and/or data). The network optimizer application 150-1 may be stored on a computer readable medium (e.g., a repository) such as a floppy disk, hard disk or in an optical medium. According to other embodiments, the network optimizer application 150-1 can also be stored in a memory type system such as in firmware, read only memory (ROM), or, as in this example, as executable code within the main memory 104 (e.g., within Random Access Memory or RAM). For example, network optimizer application 150-1 may also be stored in removable storage media 105, read-only memory 106, and/or mass storage device 107.
As discussed herein, embodiments of the present disclosure include various steps or operations. A variety of these steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the operations. Alternatively, the steps may be performed by a combination of hardware, software, and/or firmware.
It should be noted that many routine program elements, such as initialization of loops and variables and the use of temporary variables are inherent in the flowcharts. It will be appreciated by those of ordinary skill in the art that unless otherwise indicated herein, the particular sequence of steps described is illustrative only and can be varied without departing from the spirit of the invention. Thus, unless otherwise stated the steps described below are unordered meaning that, when possible, the steps can be performed in any convenient or desirable order.
Now, more specifically,
In step 205, the network optimizer 150 identifies various possible spans in a network that can be traversed by a wave without regeneration. In one particular example, the optimizer 150 identifies a set of all spans in a particular network, or portion of a network, that can be traversed by a wave without intermediate regeneration. A span may involve one or more segments of fiber residing between nodes, e.g., amplifier huts and gateways, in the network. For example, referring to
In step 210, for each node in the network, the network optimizer 150 identifies a cost associated with placement of a device (e.g., a ROADM) at a respective node. In one possible example, the network optimizer accesses a database populated with information concerning the costs associated with deploying a ROADM device. The costs may include the cost of device itself, installation costs (which may vary depending on geographic location and other factors), power costs, etc. Alternatively, the network optimizer receives input from a user concerning the costs associated with placement of a ROADM at a node.
In step 215, the network optimizer 150 identifies a cost associated with wavelength regeneration in the network. As with ROADM costs, the network optimizer may obtain costs associated with wavelength regeneration in the network from a database populated with the costs associated with placement of regeneration equipment in a network. The costs may include the cost of the regeneration device or devices themselves, installation costs (which may vary depending on geographic location and other factors), space, power and cooling costs, monitoring and maintenance costs, etc. Alternatively, the network optimizer receives input from a user concerning the costs associated with regeneration equipment.
The cost parameters identified or otherwise obtained in steps 210 and 215 are shown as parameters for Model A and form part of the objective of Model A. By solving Model A, for example, with the identified constraints (1)-(7) (e.g. optimizers 150-1 or 150-2), the system may identify or otherwise define a network with an optimal number and location of ROADM devices and/or regeneration devices. The system may also identify where in an existing network, or portion of a network, to optimally place ROADM and/or regeneration devices. The system may further solve Model B either alone or integrated with Model A as a part of the solutions. The optimal solutions account for the costs identified in steps 210 and 215.
In step 225, the network optimizer 150 specifies a constraint (e.g., to be used in conjunction with a linear and/or integer programming algorithm implementing the Model A or Model B objective, or a combination of the two) such that each given span used to carry traffic has a device placed at each node of the given segment. The network optimizer specifies that each gateway node in the network requires a ROADM device. Thus, for example, the Rn variable of Model A is set to 1 for any network node associated with a gateway. The network optimizer further specifies that each span used to carry traffic should have a ROADM device at either end node of the span. Stated differently, the Rn variable for the start and end nodes of a span carrying traffic are set to 1.
In step 230 (see
In step 235, the network optimizer 150 specifies a constraint (e.g., to be used in conjunction with a linear and/or integer programming algorithm) such that if a given segment is to carry traffic, the given segment may not have more than its maximum number of intermediate nodes and may not carry more than its maximum number of wavelengths. Step 235 is somewhat redundant with step 230. However, a redundant constraint may eliminate unnecessary solutions of the linear relaxation (the same model without constraints) such that the system 100 (or other systems) can solve the model more quickly than it would without the redundant constraint.
In step 240, the network optimizer 150 may apply a standard branch-and-cut integer programming algorithm to the identified set of all segments, the identified cost associated with placement of a device at each respective node, the identified cost associated with wavelength regeneration in the network, and the one or more constraints. Note that the algorithm may be applied to fewer constraints, additional constraints, or any combination of constraints thereof, in accordance with embodiments described herein. In one particular example, the network optimizer solves Model A using the variables, constraints, and parameters defined herein. Subsequently, the network optimizer solves Model B using the variable, constraints, and parameters defined herein.
In step 245, the network optimizer 150 identifies, from the algorithm, one or more nodes in the network at which a device (e.g., ROADM) should be placed to optimize the number of devices to be added to the network (e.g. to, minimize or otherwise reduce the cost of placing additional devices in the network).
The models and associated linear programming methods may be executed on a computer system (e.g., computer system 100). Furthermore, the network optimizer 150 can render, on a graphical user interface (e.g., via display screen 130), an indication of the one or more nodes in the network at which a device should be placed to minimize the number of devices to be added to the network (i.e., in response to execution of the algorithm as described above). The network may then be deployed, upgraded, or otherwise modified to include ROADM devices and/or regeneration devices at or substantially near the defined optimal ROADM locations.
Although aspects of the present invention have been described with reference to various embodiments, it will be understood that the invention is not limited to the details thereof. Various modifications and substitutions will occur to those of ordinary skill in the art. All such substitutions are intended to be embraced within the scope of the invention as defined in the appended claims.