Patent Description:
Optical nodes in an optical network may employ optical interfaces offering high flexibility in terms of modulation format and symbol rate. Different combinations of modulation format and symbol rate use correspondingly different optical bandwidth and optical signal-to-noise ratios for error free transmission along network paths of the optical network. A control plane of the optical network typically has access to various transmission-related metrics associated with the network paths.

<CIT> describes a method implemented in a network apparatus used in a wavelength division multiplexing (WDM) optical network. The method includes (a) selecting unconsidered virtual link (VL) (i,j) with a maximum cost, a cost being requested line rate rij on VL(i, j)×shortest distance between nodes i and j, (b) selecting unconsidered route k out of K-shortest routes between nodes i and j of VL(i,j), (c) determining a bit map of unconsidered route k, (d) finding a modulation format that supports requested line rate rij with minimum spectrum <MAT>, where Sz is spectral efficiency with which the modulation format transmits a channel, (e) finding <MAT> consecutive spectrum slots at M lowest wavelengths in the bit map of selected route k, and (f) determining fragmentation factor <MAT> after provisioning a channel at each wavelength m on selected route k, where <NUM> ≤ m ≤ M.

<CIT> describes routing and bandwidth assignment of new paths of different bandwidths, occupying different numbers of adjacent frequency slots in a wavelength switched optical network. The routing and bandwidth assignment involves selecting a route, and assigning a set of adjacent frequency slots. The assignment can place wider ones of the new paths at an opposite end of a spectrum of the available frequency slots, to an end where narrower ones are placed. A size of sets of available adjacent slots remaining after the assignment is likely to be increased, compared to a conventional first fit assignment. A wider subsequent new path can sometimes be accommodated along all or some of the route and thus the blocking probability can be lowered. The selecting of which of the possible routes to use can be made dependent on which has more sets of available adjacent frequency slots, or which has a wider gap between occupied slots.

<CIT> describes routing of optical paths through an optical network which accounts for both linear and non-linear effects of the physical layer when determining the route. The non-linear effects are determined only as necessary, allowing the non-linear effects to be included in the routing determination for larger optical networks.

An invention is defined in the appended claims.

A network controller controls a network of optical nodes configured to communicate with each other at multiple line rates using different tuples of [bits/symbol, symbol rate] for each line rate. The network controller determines multiple paths between two optical nodes, selects a desired line rate at which to communicate between the two optical nodes, and accesses a path database that indicates an available optical bandwidth and an available optical signal-to-noise ratio (SNR) along each path. The network controller determines feasible paths among the multiple paths. To do this, the network controller, for each path, searches the different tuples of the desired line rate for a tuple for which a desired optical bandwidth and a desired optical SNR are accommodated by the available optical bandwidth and the available optical SNR of the path, respectively. The network controller programs optical nodes of one of the feasible paths with a tuple found in the searching.

Embodiment presented herein combine control plane knowledge in an optical network with programmable flexibility of optical interfaces of optical nodes in the optical network with respect to modulation format and symbol rate to optimize optical traffic transported in the optical network under different conditions.

As mentioned above, a control plane of the optical network typically has access to various transmission-related metrics associated with the network paths. However, conventionally, the control plane fails to combine the flexibility of the optical interfaces and their optical conditions with the knowledge of the control plane in order to establish optimum optical transmission. With reference to <FIG>, there is a block diagram of an example optical network <NUM> in which the embodiments directed to combining optical interface flexibility with control plane knowledge to optimize optical transmission in the optical network may be implemented. Optical network <NUM> includes a network of optical devices or nodes <NUM>(<NUM>)-<NUM>(<NUM>) (collectively and individually referred to as "optical nodes <NUM>" and an "optical node <NUM>," respectively) and an optical network controller <NUM> (also referred to more simply as a "network controller <NUM>") configured to communicate with each optical node over a communication network <NUM>. Optical nodes <NUM> transmit optical signals to and receive optical signals from each other in an optical data/forwarding plane of the optical network that carries user traffic. Network controller <NUM> communicates with and controls optical nodes <NUM> in a control plane of optical network <NUM>. For example, via the control plane, network controller <NUM> provisions and controls the optical nodes for operation in the data plane.

In an example, optical network <NUM> may include a spectrum switched optical network (SSON) in which optical nodes <NUM> each transmit and receive wavelength-division multiplexing (WDM) optical signals, and the optical nodes may each include a reconfigurable optical add-drop multiplexer (ROADM) configured to remotely switch the WDM optical signals. From a topology point of view, optical network <NUM> includes network segments or sections <NUM> that connect optical node <NUM> to adjacent optical nodes, as shown. Network sections <NUM> each include a series of alternating optical fiber spans <NUM> and optical fiber amplifiers <NUM>. Optical fiber spans <NUM> carry optical signals over distances while optical fiber amplifiers <NUM> amplify the optical signals traversing the optical fiber spans. Optical nodes <NUM> communicate with each other over optical network paths each comprising one or more of series connected network sections <NUM>, as will be described more fully below.

Optical network <NUM> also includes multiple control plane databases used by the optical network to provision and control the optical network, and to perform embodiments presented herein. The control plane databases include a path database <NUM> and a line rate database <NUM> each accessible to network controller <NUM> and each of optical nodes <NUM> via the control plane, for example. Databases <NUM> and <NUM> may be centralized and stored in a single location in optical network <NUM>, such as with network controller <NUM>, or a cloud-based datacenter. Alternatively, databases <NUM> and <NUM> may be distributed among optical nodes <NUM> and network controller <NUM>. Path database <NUM> stores respective path metrics for each of various network paths between optical nodes <NUM>, including available optical bandwidth (BW) (OBW) for each network path, an available optical signal-to-noise ratio (SNR) (OSNR) for each network path, network path latency, network path length, and the like. Line rate database <NUM> stores available traffic line rates and, for each line rate, parameters associated with implementing that line rate, such as bits/symbol, symbol rate (which relates directly to a desired OBW), and a desired OSNR, as will be described below.

With reference to <FIG>, there is a high-level block diagram representative of each of optical nodes <NUM> configured as a ROADM node, according to an embodiment. In the example of <FIG>, optical node <NUM> includes programmable switching complexes <NUM>(<NUM>) and <NUM>(<NUM>) that have optical interfaces of the optical node coupled to optical fibers <NUM>(<NUM>) and <NUM>(<NUM>), respectively, an add/drop module <NUM>, flexible optical interfaces <NUM> that control parameters of the optical interfaces, and an optical node controller <NUM> (also referred to more simply as a "node controller <NUM>") coupled to the switching complexes, the add drop module, the flexible optical interfaces, and to optical network controller <NUM> over a control plane link, e.g., implemented over network <NUM>. Optical fibers <NUM>(<NUM>) and <NUM>(<NUM>) may each carry, toward or away from optical node <NUM>, a wave division multiplexed (WDM) or dense (DWDM) optical signal comprising multiple channels (i.e., wavelengths). Switching complexes <NUM>(<NUM>) and <NUM>(<NUM>) include respective wavelength selectable switches (WSSs) to configure the channels in the optical signal transiting optical node <NUM> under control of node controller <NUM>. Add/drop module <NUM> may add or drop particular channels to or from the multiplexed optical signal. A typical channel may have an OBW in a range of <NUM> to <NUM>, for example, although other channel OBWs are possible.

Node controller <NUM> controls the optical interfaces to optical fibers <NUM>(<NUM>) and <NUM>(<NUM>) through flexible optical interfaces <NUM>, generally, and also responsive to control plane commands received from network controller <NUM> over the control plane. Flexible optical interfaces <NUM> (and thus the optical interfaces) are highly flexible in terms of optical modulation format and optical symbol rate. That is, node controller <NUM> may program components of flexible optical interfaces <NUM>, switching complexes <NUM>, and add/drop module <NUM> so as to transmit/receive optical signals (also referred to as "optical traffic") to/from optical fibers <NUM>(<NUM>) and <NUM>(<NUM>) with a wide variety of optical modulation formats and over a wide range of symbol rates. In particular, the flexibility of flexible optical interfaces <NUM> leads to many different possible combinations of symbol rate (i.e., baud rate) and number of bits-per-symbol (referred to as "bits/symbol" or more simply as "bits/s") for optical traffic operating at a given optical throughput or "line rate. " The line rate, in bits/second, is defined as a function of symbol rate and bits/symbol. The function maybe a product of the two parameters, and/or may relate to Forward Error Correction (FEC) overhead, a type of encoding, and so on. The different combinations of symbol rate and bits/symbol may be represented correspondingly as different [bit/symbol, symbol rate] tuples (also referred to as "tuples of [bit/symbol, symbol rate]"). For error free transmission, each [bit/symbol, symbol rate] tuple determines or corresponds to a set of conditions in terms of a desired OSNR (also referred to simply as an "OSNR") and a desired OBW (also referred to simply as an "OBW") used by an optical channel that carries the optical traffic for error free transmission. The desired OBW is proportional to the symbol rate and is thus easily derived from the symbol rate, and vice versa. In one example, the desired OBW and the symbol rate are equivalent, i.e., symbol rate = desired OBW. In the ensuing description and in the figures, the term "line rate" may be replaced with either of the synonymous terms "linerate," "LineRate," or derivatives thereof.

Thus, for a given line rate, an increase in bit/symbol results in a corresponding decrease in symbol rate, hence a decrease in desired OBW for the channel carrying the optical traffic; while, at the same time, the desired OSNR for error free transmission increases. Therefore, for optimum (or near optimum) optical network performance for optical traffic at a given line rate, a tradeoff between symbol rate andbit/symbol is found, i.e., an optimal (or near optimal) [bit/symbol, symbol rate] tuple - which translates to a desired OBW and a desired OSNR - with respect to the available OBW and the available OSNR on a network path carrying the optical traffic, i.e., to ensure the network path has sufficient available OBW and available OSNR to accommodate the desired OBW and the desired OSNR associated with the [bit/symbol, symbol rate] tuple for a line rate if a channel operating at the line rate were added to the network path.

At any given time, a request to route traffic between a source optical node and a destination optical node among optical nodes <NUM> may be satisfied by several possible network paths between the nodes in optical network <NUM>. Each network path typically offers a respective combination of a minimum available OSNR and a maximum available OBW that is different from that of the other network paths. For a given network path, available OBW depends on the optical traffic already routed along the network path, which is dynamic, and also a total number and type of optical filters present in optical nodes <NUM> along the network path; this is quasi-static. Thus, the available OBW for the network path may be computed starting from a theoretical available OBW from the source node to the destination node based on available frequency slots (i.e., frequency slots not being used on the network path for other optical traffic). Then, the theoretical available OBW is reduced by optical band-narrowing caused by the total number and the types of optical nodes (and optical filters) along the network path. The final available OBW represents the OBW imposed by the component among all of the components in the network path having the narrowest OBW. Thus, once the OBWs of the all of the components are known, the available OBW may be determined, e.g., by inspection.

The available OSNR along the network path represents quasi-static information because it depends on a physical topology (e.g., types of optical fibers used in each network section <NUM>, optical signal losses along fiber spans <NUM>, types of optical amplifiers at each site <NUM> and in each optical node <NUM>, and optical amplifier working points (e.g., gain and optical power output) and non-linear noise caused by optical propagation along fiber spans <NUM> of the network path. Additional impairments, such as linear crosstalk from other optical channels traversing the network path, due to optical hardware limitations and imperfections, contributes to further OSNR degradation. Such impairments may be considered dynamic because they depend on a traffic matrix that represents the optical traffic traversing the network paths present in optical network <NUM> at the time the impairments are measured.

Thus, the available OSNR for the network path may be computed based on factors including, but not limited to, a signal spectral density (e.g., optical channel spacing) defined over each network section (e.g., network sections <NUM>) of the network path, and an actual contribution of linear noise and non-linear noise resulting from propagation of the optical traffic along the network path. Linear noise may arise from amplified spontaneous emission (ASE) and sources of optical cross-talk along network sections <NUM>. In general total OSNR (calculated in Linear units) may be calculated as: <MAT> where:.

The available OSNR may be computed with respect to a reference symbol rate, i.e., as a reference available OSNR that is normalized/referenced to the reference symbol rate. The reference available OSNR may be scaled or translated to an actual available OSNR for a given symbol rate based on the reference available OSNR, the reference symbol rate, and the given symbol rate. The different OSNR contributions may be scaled with a factor F: <MAT> where n depends on the type of OSNR contribution.

Optical network <NUM>, e.g., network controller <NUM>, relies on control plane algorithms and databases to perform circuit validation before provisioning optical nodes <NUM> for operation in the data plane. In particular, optical network <NUM> may use the SSON control plane to perform channel routing and validation, and also to manage in a flexible way the manner in which the available OBW and available OSNR may be used for a channel. The SSON control plane is frequently updated with network path/optical channel information, and thus has up-to-date knowledge of the optical traffic in the data plane, the available OBW on each network path and the available OSNR on each network path based on propagation effects. The SSON control plane stores the knowledge/information in path database <NUM>.

Accordingly, embodiments presented herein combine the abovementioned network knowledge of the control plane, including available OBW and available OSNR for different network paths of optical network <NUM> from a source optical node to a destination optical node, with the flexibility of different line rates and different possible [bits/symbol, symbol rate] tuples available to achieve the line rates as employed by optical nodes <NUM>, in order to determine/select an optimal (or near optimal) network path over which to transport optical traffic.

With reference to <FIG>, there is a flowchart of a generalized example method <NUM> of determining an optimal (or near optimal) network path between a source optical node and a destination optical node among optical nodes <NUM> based on available OBW, available OSNR, line rates, and tuples of [bits/symbol, symbol rate], which translate to desired OBW and desired OSNR associated with the tuple. An example implementation of method <NUM> will be described in connection with <FIG> after method <NUM> is described.

Method <NUM> may be performed primarily in the control plane of optical network <NUM> by network controller <NUM>. Alternatively, method <NUM> may be performed in a distributed fashion across the control plane and across network controller <NUM> and node controllers <NUM>. Method <NUM> assumes that optical nodes <NUM> have flexible, programmable optical interfaces/flexible optical interfaces that enable the optical nodes to communicate with each other in the optical data plane at multiple line rates using different tuples of [bits/symbol, symbol rate] for each line rate.

At <NUM>, network controller <NUM> receives a request to configure optical network <NUM> for optical traffic (in the data plane) between a source optical node and a destination optical node among optical nodes <NUM>.

At <NUM>, responsive to the request, network controller <NUM> determines multiple network paths between the source optical node and the destination optical node for the optical traffic. Network controller <NUM> may use any know or hereafter developed technique of finding network paths between the source optical node and the destination optical node in optical network <NUM>.

At <NUM>, network controller <NUM> selects a desired line rate for the optical traffic from among a set of predetermined line rates that optical nodes <NUM> may accommodate. That is, network controller <NUM> selects the desired line rate at which to communicate between the source optical node and the destination optical node. Each line rate may be achieved with different tuples of [bits/s, symbol rate]. Network controller <NUM> may select the line rate from line rate database <NUM> including known line rates and, for each line rate, different known tuples of [bits/symbol, symbol rate] that achieve the line rate.

At <NUM>, network controller <NUM> determines a respective available OBW and a respective available OSNR along/for each of the network paths determined at operation <NUM>. Any known or hereafter developed techniques for determining the available OBW and the available OSNR may be used. Alternatively, the available OBW and the available OSNR may be predetermined. For example, network controller <NUM> may access the available OBW and the available OSNR for each path from path database <NUM> that stores for each network path the available OBW and the available OSNR.

At <NUM>, network controller <NUM> determines "feasible" network paths (referred to in the ensuing description simply as "feasible paths") among the network paths determined at operation <NUM>. To do this, network controller <NUM>, for each network path, searches the different tuples of [bits/s, symbol rate] that can achieve the desired Line rate for a tuple that meets a first condition that the tuple has a desired OBW and a desired OSNR that are accommodated by (i.e., less than or equal to) the available OBW and the available OSNR of the network path, respectively. The desired OBW and the desired OSNR for each tuple may be computed using any known or hereafter developed technique, or the desired OBW and the desired OSNR may be predetermined.

Optionally, operation <NUM> may search the different tuples for a tuple that meets both the first condition and a second condition (i.e., one or more criteria) imposed on the bits/symbol, the symbol rate, or both the bits/symbol and the symbol rate.

Non-limiting examples of searches performed under the second condition include:.

If only the first condition is used, the one or more network paths that meet/pass the first condition are the feasible paths. If a second condition is used, the one or more network paths that meet/pass both the first condition and second condition are the feasible paths.

Operation <NUM> may result in determining one or more feasible paths.

At <NUM>, network controller <NUM> selects one of the one or more feasible paths (referred to above as the "optimal (or near optimal)" network path), and programs the optical nodes (among optical nodes <NUM>) of the selected feasible path with a tuple of [bits/symbol, symbol rate] found in search <NUM> for the selected feasible path. For example, network controller <NUM> may send to node controller <NUM> in the control plane a command including the bits/symbol and symbol rate of the found tuple and, upon receipt of the command, the node controller programs the optical interfaces of the selected optical node with the tuple parameters. Specifically, the flexible optical interfaces at source and destination optical nodes are programmed with the tuple [bit/symbol, symbol rate], and WSS modules of optical nodes along the optical path (including in the source, destination, and intermediate optical nodes) are programmed to carry the OBW (including a flexible optical spectrum slice and optical amplifiers power settings).

In one example, operation <NUM> may simply select a first (i.e., initial) feasible path that is found in the search. Operation <NUM> may find multiple feasible paths, in which case operation <NUM> may select one of the feasible paths using any number of techniques. For example, operation <NUM> may randomly select one of the feasible paths. Alternatively, operation <NUM> may select the feasible path based on a selection criteria imposed on various path metrics that are either known or computed for the feasible paths, as follows:.

Method <NUM> is now described with reference to an example implementation of the method with reference to <FIG>.

At operations <NUM> and <NUM>, network controller <NUM> selects optical node <NUM>(<NUM>) ("optical node A") as the source node and optical node <NUM>(<NUM>) ("optical node Z") as the destination optical node, and identifies multiple network paths paths1-paths4 between the two nodes.

With reference to <FIG>, there is a block diagram of optical network <NUM> that shows multiple network paths path1-path4 between optical node A and optical node Z as determined at operation <NUM>.

At operation <NUM>, controller selects a desired line rate from line rate database <NUM>.

With reference to <FIG>, there is an illustration of an example line rate database <NUM> corresponding to line rate database <NUM>. The OBWs and OSNRs referenced in line rate database <NUM> are in the optical domain.

The example of <FIG> assumes the following rules:.

Following the above rules, line rate database <NUM> includes line rate (LR) entries <NUM> (e.g., rows) each for a corresponding one of line rates LineRate1, LineRateK, and so on. The line rates may range from <NUM> Gigabits/sec (Gbps) up to <NUM> Gbps, for example, and typical symbol rates may range from <NUM>-<NUM> Gigabaud, for example. For each LineRate, database <NUM> includes multiple sub-entries <NUM> (e.g., sub-rows) each specifying a respective tuple of [bits/symbol, symbol rate] to achieve the LineRate, as well as a desired OSNR to accommodate that tuple of [bits/symbol, symbol rate] for satisfactory error performance, e.g., error free transmission. For example, from line rate database <NUM>, LineRate1 may be achieved using any of the following sets of line rate parameters (a)-(c):.

At operation <NUM>, network controller <NUM> accesses the available OBW and the available OSNR for each path from path database <NUM>.

With reference to <FIG>, there is an illustration of an example path database <NUM> corresponding to path database <NUM>.

Path database <NUM> includes entries <NUM> (e.g., rows) each for a corresponding one of network paths path1-path4 shown in <FIG>. For each path, database <NUM> includes a path identifier in a first column <NUM>, an available OBW (OBW_Pi) in a second column <NUM>, a reference available OSNR (OSNRref_Pi) reference to a reference symbol rate in a <NUM>rd column <NUM>, and a <NUM>rd path metric PMi (e.g., network path length, network path latency/time delay, and so on) in a <NUM>th column <NUM>. Typical OBWs vary greatly, and may include OBWs such as <NUM>, <NUM>, <NUM>, and so on.

Available OBW and reference available OSNR parameters OBW_Pi and OSNRref_Pi may be stored in path database <NUM> at a centralized database or an optical node level (e.g., one storage site for each network section <NUM>) via a distributed database. In case of distributed database, OBW_Pi = Function of [OBW_Sj] and OSNRref_Pi = Function_of [OSNR Sj], where OBW_Sj and OSNR_Sj are the available OBW and available OSNR of the different network sections composing the path Pi. OBW_Pi is a generalized representation of a total optical spectrum available on Path-i, and may include fragmented, non-contiguous/continuous available OBW. Generally, a desired OBW for a given tuple is fully/completely accommodated in a contiguous/continuous portion of available OBW. Additional Path parameters, directly related to the fiber/span physical characteristic, such as Chromatic Dispersion or Polarization Mode Dispersion, may also be stored and their impact evaluated when the specific optical channel is selected.

Assuming operation <NUM> selects LineRate1 as the desired line rate, for each path1-path4, operation <NUM> searches among tuples (a)-(c) for LineRate1 (e.g., [LR1_BS1, LR1_des-BW1], [LR1_BS2, LR1_des-BW2], and [LR1_BSn, LR1_des-BWn] in line rate database <NUM> for a tuple that meets the first condition, i.e., a tuple for which the corresponding desired OBW and desired OSNR (also listed in the line rate database) are each less than or equal to the available OBW and available OSNR listed in path database <NUM>, respectively, for the path currently being searched. As mentioned above, the search may be conducted such that the searched tuples meet a second condition imposed on the bits/symbol or the symbol rate, for example, that the search identify the tuple having a lowest bits/symbol or a highest bits/symbol.

An additional algorithm for determining an optimal (or near optimal) network path is now described. The additional algorithm uses features described above in connection with <FIG>.

Algorithm <NUM> below, presented as pseudo-code, finds a first (initial) feasible path responsive to a request for a connection from optical node A to optical node Z that is to carry optical traffic at a desired/given line rate, LineRateK (from line rate database <NUM>). Algorithm <NUM> accesses parameters from databases <NUM> and <NUM> as indicated in the algorithm. The bandwidths and SNRs referenced in algorithm are in the optical domain. Also, LRK_des-BWi may be considered equivalent to and interchangeable with symbol rate for a given tuple.

For each path, Algorithm <NUM> searches for a tuple that meets the first condition described above, that is, a tuple [bits/symbol = LRK_BSi, symbol rate = LRK_des-BWi] that can be accommodated by the available OBW and available OSNR on the path being searched. Because path database <NUM> stores reference available OSNR (OSNRref_Pj) (from path database <NUM>) referenced to/normalized based on a reference symbol rate, Algorithm <NUM> re-normalizes or scales the reference available OSNR (OSNRref_Pj) based on the tuple symbol rate (e.g., desired OBW (LRK_des-BWi)). This produces an available SNR (SNR_Pj) of the path that can be compared directly to the corresponding desired OSNR (LRK des-SNRi) for the tuple. The aforementioned re-normalize and compare operations may be generalized as follows:.

For each path, Algorithm <NUM> also searches a second condition, that is, to find the tuple having the lowest bits/symbol (LRK BSi) that can be allocated in the available BW of the path being searched.

As mentioned above with respect to method <NUM>, when Algorithm <NUM> finds multiple feasible paths, network controller <NUM> may sort the paths based on path latency or path length, for example, and select from the sorted feasible paths the feasible path with the minimum latency or minimum length (i.e., the shortest path), respectively.

<FIG> is a hardware block diagram of an example computer/controller device <NUM> representative of optical network controller <NUM> and optical node controller <NUM>. Computer device <NUM> includes network interface unit <NUM> to communicate with a communication network. Computer device <NUM> also includes a processor <NUM> (or multiple processors, which may be implemented as software or hardware processors), and memory <NUM>. Network interface unit <NUM> may include an Ethernet card with a port (or multiple such devices) to communicate over wired Ethernet links and/or a wireless communication card with a wireless transceiver to communicate over wireless links. When computer device <NUM> represents optical node controller <NUM>, processor <NUM> may control optical components of the optical node, including switching complexes <NUM> and their optical interfaces, add/drop module <NUM>, and flexible optical interfaces <NUM> over a control interface <NUM> coupled between the processor and the optical components.

Memory <NUM> stores instructions for implementing methods described herein. Memory <NUM> may include read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible (non-transitory) memory storage devices. The processor <NUM> is, for example, a microprocessor or a microcontroller that executes instructions stored in memory. Thus, in general, the memory <NUM> may comprise one or more tangible computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor <NUM>) it is operable to perform the operations described herein. For example, memory <NUM> stores control logic <NUM> to perform operations described herein. For example, when computer device <NUM> represents optical network controller <NUM>, control logic <NUM> includes control logic to perform operations of the optical network controller as described herein, and when computer device <NUM> represents optical node controller <NUM>, control logic <NUM> includes control logic to perform operations of the optical node controller as described herein.

The memory <NUM> may also store data <NUM> used and generated by logic <NUM>. Data <NUM> may also include portions of path database <NUM> and line rate database <NUM>, for example.

In summary, embodiments presented herein combine network knowledge of the optical network control plane with the transmission flexibility of the optical interface of the optical nodes with respect to modulation format and symbol rate in order to provide full optimization of optical traffic transported in an optical network, e.g., to optimize transmission parameters of the optical interface and thus maximize the traffic transported in the optical network according to a given metric. The method proposed in this patent combines the knowledge embedded into the network control plane with the transmission flexibility available in the last generation coherent optical interfaces to optimize the interface transmission parameters and therefore maximize the traffic transported in the specific network according with a given metric. For a given traffic request between a pair nodes in the optical network, the network control plane searches all possible network paths (or a given K subset) and, for each of them, the actual available OSNR and the actual available OBW. The network control plane eliminates those with [OBW, OSNR] below the minimum desired by the flexible optical interface. The available OSNR may be scaled with respect to a reference OSNR according to a specific optical interface symbol rate under consideration. The network paths remaining after the elimination are all able to transport the given traffic demand from the pair of nodes and the most suitable network path can be found by applying different metrics according customer or network operator needs. Some examples are: low OBW occupation; high OSNR margin; shortest path; just enough margin, and so on.

In summary, in one form, a method is provided comprising: at a network controller of a network of optical nodes configured to communicate with each other at multiple line rates using different tuples of [bits/symbol, symbol rate] for each line rate: determining multiple paths between two optical nodes; selecting a desired line rate at which to communicate between the two optical nodes; accessing a path database that indicates an available optical bandwidth and an available optical signal-to-noise ratio (SNR) along each path; determining feasible paths among the multiple paths, the determining including, for each path, searching the different tuples of the desired line rate for a tuple for which a desired optical bandwidth and a desired optical SNR are accommodated by the available optical bandwidth and the available optical SNR of the path, respectively; and programming optical nodes of one of the feasible paths with a tuple found in the searching.

In another form, an apparatus is provided comprising: a network interface unit to communicate with a network of optical nodes configured to communicate with each other at multiple line rates using different tuples of [bits/symbol, symbol rate] for each line rate; and a processor coupled to the network interface unit and configured to perform: determining multiple paths between two optical nodes; selecting a desired line rate at which to communicate between the two optical nodes; accessing a path database that indicates an available optical bandwidth and an available optical signal-to-noise ratio (SNR) along each path; determining feasible paths among the multiple paths, the determining including, for each path, searching the different tuples of the desired line rate for a tuple for which a desired optical bandwidth and a desired optical SNR are accommodated by the available optical bandwidth and the available optical SNR of the path, respectively; and programming optical nodes of one of the feasible paths with a tuple found in the searching.

In yet another form, a non-transitory computer readable medium is provided. The computer readable medium is encoded with instruction that, when executed by a processor of a controller of a network of optical nodes configured to communicate with each other at multiple line rates using different tuples of [bits/symbol, symbol rate] for each line rate, cause the processor to perform: determining multiple paths between two optical nodes; selecting a desired line rate at which to communicate between the two optical nodes; accessing a path database that indicates an available optical bandwidth and an available optical signal-to-noise ratio (SNR) along each path; determining feasible paths among the multiple paths, the determining including, for each path, searching the different tuples of the desired line rate for a tuple for which a desired optical bandwidth and a desired optical SNR are accommodated by the available optical bandwidth and the available optical SNR of the path, respectively; and programming optical nodes of one of the feasible paths with a tuple found in the searching.

Claim 1:
A method (<NUM>) comprising:
at a network controller (<NUM>, <NUM>, <NUM>) of a network (<NUM>) of optical nodes (<NUM>) configured to communicate with each other at multiple line rates using different tuples of [bits/symbol, symbol rate] for each line rate:
determining (<NUM>) multiple paths between two optical nodes;
selecting (<NUM>) a desired line rate for the two optical nodes;
accessing (<NUM>) a path database (<NUM>, <NUM>) that indicates an available optical bandwidth (<NUM>) and an available optical signal-to-noise ratio, SNR, (<NUM>) along each path (<NUM>);
determining (<NUM>) feasible paths among the multiple paths, the determining including, for each path, searching the different tuples of the desired line rate for a tuple for which a desired optical bandwidth and a desired optical SNR are accommodated by the available optical bandwidth and the available optical SNR of the path, respectively, wherein the searching the different tuples includes searching for a tuple that has a lowest bits/symbol and corresponding desired optical SNR among the different tuples and that has a desired optical bandwidth that is able to be allocated in a continuous spectrum of the available optical bandwidth of the path being searched; and
programming optical nodes of one of the feasible paths with a found tuple.