# US 10,374,745 B1 · Path selection in optical network for optical nodes with flexible baud rate and modulation format

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,374,745 B1
- Document ID: US10374745B1
- Status: Granted
- Kind: B1
- Application number: 16/003,352
- Filed: 2018-06-08
- Granted: 2019-08-06
- Earliest claimed: 2018-06-08
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Alberto Arnaldo Tanzi; Stefano Piciaccia; Maurizio Gazzola; Lorenzo Ghioni
- Web page: https://patentgrep.com/patent/US10374745B1

## CPC

- H04J 14/0271: {Impairment aware routing}
- H04B 10/07953: {Monitoring or measuring OSNR, BER or Q}
- H04J 14/0267: {Optical signaling or routing}
- H04Q 11/0062: {Network aspects}
- H04Q 2011/0079: {Operation or maintenance aspects}
- H04Q 2011/0088: {Signalling aspects}
- H04J: MULTIPLEX COMMUNICATION (transmission in general H04B; peculiar to transmission of digital information H04L5/00; systems for the simultaneous or sequential transmission of more than one television signal H04N7/08; in exchanges H04Q11/00; stereophonic systems H04S)
- H04B: TRANSMISSION
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)

## Abstract

A network controller controls 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 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.

## Claims

### Claim 1

A method 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, wherein the searching 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 tuple found in the searching.

### Claim 2 (depends on 1)

The method of claim 1, wherein the searching includes searching the different tuples of the desired line rate for a tuple that meets one or more additional conditions imposed on the bits/symbol or the symbol rate.

### Claim 3 (depends on 2)

The method of claim 2, wherein the method further comprises, when the searching finds multiple feasible paths:
for each feasible path, computing an optical SNR margin as a difference between the available optical SNR for the feasible path and the desired optical SNR for the tuple found for the feasible path; and
selecting as the one of the feasible paths the feasible path having a largest optical SNR margin.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the path database indicates each available optical SNR referenced to a reference symbol rate for the corresponding path; and
the searching the different tuples includes, for each tuple being searched:
scaling the available optical SNR from the reference symbol rate to the symbol rate of the tuple being searched, to produce a scaled optical SNR; and
comparing the scaled optical SNR to the desired optical SNR for the tuple being searched.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the path database further indicates a respective time latency for each path; and
the method further comprises, when the searching results in multiple feasible paths, selecting as the one of the feasible paths the feasible path having a minimum latency among the feasible paths.

### Claim 6 (depends on 1)

The method of claim 1, wherein the bits/symbol increase across the different tuples, while the symbol rates correspondingly decrease across the different tuples.

### Claim 7 (depends on 1)

The method of claim 1, wherein each of the optical node includes a reconfigurable optical add-drop multiplexer (ROADM) to remotely switch wavelength division multiplexed optical signals.

### Claim 8

An apparatus 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, wherein the searching 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 tuple found in the searching.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the processor is configured to perform the searching by searching the different tuples of the desired line rate for a tuple that meets one or more additional conditions imposed on the bits/symbol or the symbol rate.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to perform, when the searching finds multiple feasible paths:
for each feasible path, computing an optical SNR margin as a difference between the available optical SNR for the feasible path and the desired optical SNR for the tuple found for the feasible path; and
selecting as the one of the feasible paths the feasible path having a largest optical SNR margin.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein:
the path database indicates each available optical SNR referenced to a reference symbol rate for the corresponding path; and
the processor is configured to perform the searching the different tuples by, for each tuple being searched:
scaling the available optical SNR from the reference symbol rate to the symbol rate of the tuple being searched, to produce a scaled optical SNR; and
comparing the scaled optical SNR to the desired optical SNR for the tuple being searched.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein:
the path database further indicates a respective time latency for each path; and
the processor is further configured to perform, when the searching results in multiple feasible paths, selecting as the one of the feasible paths the feasible path having a minimum latency among the feasible paths.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the bits/symbol increase across the different tuples, while the symbol rates correspondingly decrease across the different tuples.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein each of the optical node includes a reconfigurable optical add-drop multiplexer (ROADM) to remotely switch wavelength division multiplexed optical signals coupled to the processor.

### Claim 15

A non-transitory computer readable media stores instructions 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, wherein the searching 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 tuple found in the searching.

### Claim 16 (depends on 15)

The non-transitory computer readable media of claim 15, wherein the instructions that cause the processor to perform the searching include instructions to cause the processor to perform searching the different tuples of the desired line rate for a tuple that meets one or more additional conditions imposed on the bits/symbol or the symbol rate.

### Claim 17 (depends on 16)

The non-transitory computer readable media of claim 16, further comprising instruction to cause the processor to perform, when the searching finds multiple feasible paths:
for each feasible path, computing an optical SNR margin as a difference between the available optical SNR for the feasible path and the desired optical SNR for the tuple found for the feasible path; and
selecting as the one of the feasible paths the feasible path having a largest optical SNR margin.

### Claim 18 (depends on 15)

The non-transitory computer readable media of claim 15, wherein:
the path database indicates each available optical SNR referenced to a reference symbol rate for the corresponding path; and
the instructions to cause the processor to perform the searching the different tuples includes instructions to cause the processor to perform, for each tuple being searched:
scaling the available optical SNR from the reference symbol rate to the symbol rate of the tuple being searched, to produce a scaled optical SNR; and
comparing the scaled optical SNR to the desired optical SNR for the tuple being searched.

### Claim 19 (depends on 15)

The non-transitory computer readable media of claim 15, wherein:
the path database further indicates a respective time latency for each path; and
the instructions further comprise instructions to cause the processor to perform, when the searching results in multiple feasible paths, selecting as the one of the feasible paths the feasible path having a minimum latency among the feasible paths.

### Claim 20 (depends on 15)

The non-transitory computer readable media of claim 15, wherein the bits/symbol increase across the different tuples, while the symbol rates correspondingly decrease across the different tuples.
