Dynamic Switching Queuing Scheme for Network Switch
By adopting transceiver configurations with different throughputs in the communication network, efficient data transmission between the primary node and the secondary node is achieved, the problem of throughput imbalance is solved, and the data transmission efficiency and cost-effectiveness of the network are improved.
Patent Information
- Application Number
- CN202080075937.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-31
- Filing Date
- 2020-09-04
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2040-09-04
AI Technical Summary
During the data transmission process of existing communication networks, there is a problem of throughput imbalance, which leads to the low bandwidth utilization of some nodes and the inability to efficiently transmit and allocate data.
Using transceiver configurations with different throughputs, the primary node uses high-throughput transceivers to transmit data to multiple auxiliary nodes, and the secondary node uses low-throughput transceivers to receive and process data, realizing the combination of pooled bandwidth allocation and dedicated allocation.
It realizes efficient data transmission in different directions in the network, reduces congestion, reduces network deployment and maintenance costs, and improves overall data transmission efficiency.
Smart Images

Figure CN114641955B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 62 / 896,052, filed September 5, 2019, and U.S. Provisional Application No. 16 / 732,108, filed December 31, 2019, the contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure relates to transmitting and receiving data via a communications network. Background Art
[0004] Computing devices can use a communication network to exchange information with each other. As an example, computing devices can be interconnected via one or more intermediate network devices (e.g., routers, hubs, switches, etc.) and network links (e.g., conductive cables, optical fibers, wireless network interfaces, etc.). The network devices receive data packets from one or more source computing devices and forward each data packet to its corresponding destination computing device. In some embodiments, the communication network can be a local area network (LAN), such as an Ethernet LAN. Summary of the Invention
[0005] In one aspect, a system includes a first network switch and a plurality of first server computers communicatively coupled to the first network switch. The first network switch includes a first transceiver. The first transceiver is configured to transmit data according to a first maximum throughput. Each first server computer includes a corresponding second transceiver. Each second transceiver is configured to transmit data according to a second maximum throughput. The first maximum throughput is greater than the second maximum throughput. The first network switch is configured to transmit first data to each of the first server computers using the first transceiver according to the first maximum throughput. The first data includes a plurality of first optical subcarriers. Each first optical subcarrier is associated with a different one of the first server computers. Each of the first server computers is configured to receive the first data from the first network switch using a corresponding one of the second transceivers and extract, from the first data, a corresponding portion of the first data addressed to the first server computer.
[0006] Implementations of this aspect may include one or more of the following features.
[0007] In some embodiments, each of the first server computers can be configured to extract a corresponding portion of the first data addressed to the first server computer by extracting the portion of the first data from a first optical subcarrier associated with the server computer.
[0008] In some embodiments, the system may further include a second network switch including a third transceiver. The third transceiver may be configured to transmit data according to a third maximum throughput. The system may include multiple first network switches. Each first network switch may include a corresponding fourth transceiver. Each fourth transceiver may be configured to transmit data according to a fourth maximum throughput. The third maximum throughput may be greater than the fourth maximum throughput. The second network switch may be configured to transmit second data to each of the first network switches using the fourth transceiver according to the fourth maximum throughput. The second data may include multiple second optical subcarriers. Each second optical subcarrier may be associated with a different one of the first network switches. Each of the first network switches may be configured to receive the second data from the second network switch using a corresponding one of the fourth transceivers and extract, from the second data, a corresponding portion of the second data addressed to the first network switch.
[0009] In some embodiments, each of the first network switches can be configured to extract a respective portion of the second data corresponding to the first network switch by extracting the portion of the second data from a second optical subcarrier associated with the first network switch.
[0010] In some embodiments, the second network switch may further include one or more fifth transceivers. The second network switch may be configured to transmit, receive, or transmit and receive the third data from the wide area network using the one or more fifth transceivers.
[0011] In some embodiments, at least one of the first network switches may be a top-of-rack network switch.
[0012] In some implementations, the second network switch may be a core network switch.
[0013] In some embodiments, at least one of the first server computers can be configured to transmit second data to the first network switch using the second transceiver according to the second maximum throughput. The second data can include a second optical subcarrier. The second optical subcarrier can be associated with the first network switch.
[0014] In some implementations, the first data can be transmitted to each of the second receivers of the first server computer using a first transceiver of the first network switch.
[0015] In some implementations, the second data can be transmitted to the first transceiver of the first network switch using the second transceiver of at least one of the first server computers.
[0016] In another aspect, a method includes transmitting first data from a first network switch to each of a plurality of first server computers. The first network switch includes a first transceiver. The first transceiver is configured to transmit data according to a first maximum throughput. The plurality of first server computers are communicatively coupled to the first network switch. Each first server computer includes a corresponding second transceiver. Each second transceiver is configured to transmit data according to a second maximum throughput. The first maximum throughput is greater than the second maximum throughput. The first data includes a plurality of first optical subcarriers. Each first optical subcarrier is associated with a different one of the first server computers. The method also includes receiving the first data from the first network switch using a corresponding one of the second transceivers by each of the first server computers, and extracting, by each of the first server computers, a corresponding portion of the first data addressed to the first server computer from the first data.
[0017] Implementations of this aspect may include one or more of the following features.
[0018] In some embodiments, each of the first server computers can be configured to extract a corresponding portion of the first data addressed to the first server computer by extracting the portion of the first data from a first optical subcarrier associated with the server computer.
[0019] In some embodiments, the second network switch may include a third transceiver. The third transceiver may be configured to transmit data according to a third maximum throughput. Each first network switch in the plurality of network switches may include a corresponding fourth transceiver. Each fourth transceiver may be configured to transmit data according to a fourth maximum throughput. The third maximum throughput may be greater than the fourth maximum throughput. The method may further include the second network switch transmitting, using the fourth transceiver, second data to each of the first network switches according to the fourth maximum throughput. The second data may include a plurality of second optical subcarriers. Each second optical subcarrier may be associated with a different one of the first network switches. The method may further include each of the first network switches receiving, using a corresponding one of the fourth transceivers, the second data from the second network switch, and each of the first network switches extracting, from the second data, a corresponding portion of the second data addressed to the first network switch.
[0020] In some implementations, extracting the corresponding portion of the second data corresponding to the first network switch may include extracting the portion of the second data from a second optical subcarrier associated with the first network switch.
[0021] In some embodiments, the second network switch may further include one or more fifth transceivers. The method may further include transmitting, receiving, or both transmitting and receiving third data from the wide area network using the one or more fifth transceivers by the second network switch.
[0022] In some embodiments, at least one of the first network switches may be a top-of-rack network switch.
[0023] In some implementations, the second network switch may be a core network switch.
[0024] In some embodiments, the method may further include transmitting, by at least one of the first server computers, second data to the first network switch using a second transceiver according to a second maximum throughput. The second data may include a second optical subcarrier. The second optical subcarrier may be associated with the first network switch.
[0025] In some implementations, the first data can be transmitted to each of the second receivers of the first server computer using a first transceiver of the first network switch.
[0026] In some implementations, the second data can be transmitted to the first transceiver of the first network switch using the second transceiver of at least one of the first server computers.
[0027] In another aspect, a system includes multiple network nodes. Each network node includes one or more corresponding first transceivers. Each first transceiver is configured to transmit data according to a first maximum throughput. Each network node also includes one or more corresponding second transceivers. Each second transceiver is configured to transmit data according to a second maximum throughput. The first maximum throughput is greater than the second maximum throughput. A first network node among the multiple network nodes is configured to transmit first data according to the first maximum throughput to two or more second network nodes among the multiple network nodes using a corresponding one of the first transceivers. The first data includes multiple optical subcarriers. Each optical subcarrier is associated with a different one of two other network nodes. The two or more second network nodes are configured to receive the first data from the first network node using a corresponding one of the second transceivers.
[0028] Implementations of this aspect may include one or more of the following features.
[0029] In some implementations, each network node in the plurality of network nodes may be communicatively coupled to each other network node in the plurality of network nodes.
[0030] In some implementations, for each network node in the plurality of network nodes, at least one of the first transceivers of the network node may be communicatively coupled to at least one of the second transceivers of each other network node in the plurality of network nodes.
[0031] In some implementations, at least one network node in the plurality of network nodes may be communicatively coupled to only a subset of the other network nodes in the plurality of network nodes.
[0032] In some implementations, for each network node in the plurality of network nodes, at least one of the first transceivers of the network node may be communicatively coupled to only at least one of the second transceivers of a subset of the other network nodes in the plurality of network nodes.
[0033] In some embodiments, each of the two other second network nodes may be configured to extract, from the first data, a portion of the first data addressed to the second network node.
[0034] In some embodiments, each of the two other second network nodes may be configured to extract the portion of the first data corresponding to the network node by extracting the portion of the first data from an optical subcarrier associated with the second network node.
[0035] In some embodiments, at least some of the first transceivers of the first network node may be communicatively coupled to at least two of the second transceivers of the second network node.
[0036] In some embodiments, the first data may be transmitted using a first transceiver of a first network node to each of a second receiver of two or more second network nodes.
[0037] In some embodiments, at least one of the two or more second network nodes may be configured to transmit second data to the first network node using the second transceiver according to the second maximum throughput. The second data may include a second optical subcarrier. The second optical subcarrier may be associated with the first network node.
[0038] In another aspect, a method includes interconnecting a plurality of network nodes. Each network node includes one or more corresponding first transceivers. Each first transceiver is configured to transmit data according to a first maximum throughput. Each network node also includes one or more corresponding second transceivers. Each second transceiver is configured to transmit data according to a second maximum throughput. The first maximum throughput is greater than the second maximum throughput. The method further includes transmitting, by a first network node among the plurality of network nodes, first data to two or more second network nodes among the plurality of network nodes using a corresponding one of the first transceivers according to the first maximum throughput. The first data includes a plurality of optical subcarriers. Each optical subcarrier is associated with a different one of two other network nodes. The method further includes receiving, by the two or more second network nodes, the first data from the first network node using a corresponding second transceiver.
[0039] Implementations of this aspect may include one or more of the following features.
[0040] In some implementations, each network node in the plurality of network nodes may be communicatively coupled to each other network node in the plurality of network nodes.
[0041] In some implementations, for each network node in the plurality of network nodes, at least one of the first transceivers of the network node may be communicatively coupled to at least one of the second transceivers of each other network node in the plurality of network nodes.
[0042] In some implementations, at least one network node in the plurality of network nodes may be communicatively coupled to only a subset of the other network nodes in the plurality of network nodes.
[0043] In some implementations, for each network node in the plurality of network nodes, at least one of the first transceivers of the network node may be communicatively coupled to only at least one of the second transceivers of a subset of the other network nodes in the plurality of network nodes.
[0044] In some embodiments, the method may further include extracting, by each of the two other second network nodes, from the first data, a portion of the first data addressed to the second network node.
[0045] In some embodiments, extracting, by each of the two other second network nodes, the portion of the first data corresponding to the network node may include extracting the portion of the first data from an optical subcarrier associated with the second network node.
[0046] In some embodiments, at least some of the first transceivers of the first network node may be communicatively coupled to at least two of the second transceivers of the second network node.
[0047] In some embodiments, the first data may be transmitted using a first transceiver of a first network node to each of a second receiver of two or more second network nodes.
[0048] In some embodiments, the method may further include transmitting second data to the first network node using the second transceiver according to the second maximum throughput. The second data may include a second optical subcarrier. The second optical subcarrier may be associated with the first network node.
[0049] In another aspect, a method includes monitoring network traffic transmitted between a plurality of network nodes via a communication network, ranking a subset of the network traffic according to one or more ranking criteria, and deploying a mesh network between the plurality of network nodes based on the ranking of the subset of network traffic. The mesh network includes a plurality of network links. Each network link communicatively couples a respective network node of the plurality of network nodes to another respective network node of the plurality of network nodes.
[0050] Implementations of this aspect may include one or more of the following features.
[0051] In some embodiments, the one or more ranking criteria may include a criterion regarding data size of network traffic transmitted between corresponding network nodes from the plurality of network nodes.
[0052] In some implementations, the one or more ranking criteria may include a criterion regarding the frequency with which network traffic is transmitted between respective ones of the plurality of network nodes.
[0053] In some implementations, the one or more ranking criteria may include a criterion regarding directionality of transmission of network traffic between respective ones of the plurality of network nodes.
[0054] In some embodiments, the one or more ranking criteria may include a criterion regarding the percentage of usage of the communication network in delivering network traffic.
[0055] In some embodiments, deploying a mesh network between the plurality of network nodes may include determining a corresponding ranking for each subset of network traffic. Each subset of network traffic may be transmitted from a corresponding source network node in the plurality of network nodes to a corresponding destination network node in the plurality of network nodes. Deploying the mesh network between the plurality of network nodes may also include determining that a first subset of network traffic has a highest ranking among the subsets of network traffic, and deploying a network link corresponding to the first subset of network traffic between the source network node and the destination network node.
[0056] In some implementations, deploying a mesh network between the plurality of network nodes may include determining that a second subset of network traffic has a second highest ranking in the subset of network traffic, and deploying network links corresponding to the second subset of network traffic between the source network node and the destination node.
[0057] In some implementations, the method may include transmitting one or more optical subcarriers using a plurality of network links.
[0058] In some embodiments, at least one of the network links can communicatively couple (i) a first transceiver of a first network node among the plurality of network nodes and (ii) a second transceiver of a second network node among the plurality of network nodes. The first transceiver can be configured to transmit data using the at least one of the network links according to a first maximum throughput. The second transceiver can be configured to transmit data according to a second maximum throughput. The first maximum throughput can be greater than the second maximum throughput.
[0059] In some implementations, a mesh network may communicatively couple at least one network node of the plurality of network nodes to only a subset of the other network nodes of the plurality of network nodes.
[0060] In some implementations, the method may include removing at least a portion of the communication network after deploying the mesh network.
[0061] In some implementations, deploying the mesh network may include deploying network links between a plurality of network nodes until one or more stopping criteria are met.
[0062] In some implementations, the one or more stopping criteria may include a criterion that the number of deployed network links is equal to a maximum number of network links.
[0063] In some implementations, the one or more stopping criteria may include a criterion that a subset of the network traffic associated with the deployed network link accounts for a threshold percentage of the network traffic.
[0064] In some implementations, the one or more stopping criteria may include a criterion that an amount of monetary resources allocated or used to deploy the network link meets or exceeds a threshold amount.
[0065] In another aspect, a non-transitory computer-readable storage medium has instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform certain operations. The operations include monitoring network traffic transmitted between a plurality of network nodes via a communication network, ranking a subset of the network traffic according to one or more ranking criteria, and determining the deployment of a mesh network between the plurality of network nodes based on the ranking of the subset of network traffic. The mesh network includes a plurality of network links. Each network link communicatively couples a corresponding network node of the plurality of network nodes to another corresponding network node of the plurality of network nodes.
[0066] Implementations of this aspect may include one or more of the following features.
[0067] In some embodiments, determining deployment of a mesh network between a plurality of network nodes may include determining a corresponding ranking for each subset of network traffic. Each subset of network traffic may be transmitted from a corresponding source network node in the plurality of network nodes to a corresponding destination network node in the plurality of network nodes. Determining deployment of the mesh network between the plurality of network nodes may also include determining that a first subset of network traffic has a highest ranking among the subsets of network traffic, and determining to deploy a network link corresponding to the first subset of network traffic between the source network node and the destination node.
[0068] In some embodiments, determining deployment of the mesh network between the plurality of network nodes may include determining that a second subset of network traffic has a second highest ranking among the subset of network traffic, and determining to deploy a network link corresponding to the second subset of network traffic between the source network node and the destination node.
[0069] In some implementations, the operations may further include transmitting the one or more optical subcarriers using a plurality of network links.
[0070] In another aspect, a system includes one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform certain operations. The operations include monitoring network traffic transmitted between a plurality of network nodes via a communication network, sorting a subset of the network traffic according to one or more sorting criteria, and determining the deployment of a mesh network between the plurality of network nodes based on the sorting of the subset of network traffic. The mesh network includes a plurality of network links. Each network link communicatively couples a corresponding network node of the plurality of network nodes to another corresponding network node of the plurality of network nodes.
[0071] In another aspect, a system includes a first network node, a second network node communicatively coupled to the first network node, and a third network node communicatively coupled to the second network node. The first network node is configured to generate a first optical subcarrier representing first data and transmit the first optical subcarrier to the second network node. The second network node is configured to receive the first optical subcarrier from the first network node, generate a second optical subcarrier representing the first data, wherein the second optical subcarrier is different from the first optical subcarrier, and transmit the second optical subcarrier to the third network node.
[0072] Implementations of this aspect may include one or more of the following features.
[0073] In some embodiments, the third network node may be configured to receive the second optical subcarrier from the second network node, and determine the first data based on the second optical subcarrier.
[0074] In some embodiments, the system may further include a fourth network node communicatively coupled to the second network node. The second network node may be configured to generate a third optical subcarrier representing the first data, wherein the third optical subcarrier is different from the second optical subcarrier, and transmit the third optical subcarrier to the fourth network node. The fourth network node may be configured to receive the third optical subcarrier from the second network node and determine the first data based on the third optical subcarrier.
[0075] In some embodiments, the system may further include a fourth network node communicatively coupled to the third network node. The third network node may be configured to receive the second optical subcarrier from the second network node, generate a third optical subcarrier representing the first data, wherein the third optical subcarrier is different from the second optical subcarrier, and transmit the third optical subcarrier to the fourth network node. The fourth network node may be configured to receive the third optical subcarrier from the third network node and determine the first data based on the third optical subcarrier.
[0076] In some embodiments, the system may further include a fourth network node communicatively coupled to the second network node. The third network node may be associated with the second optical subcarrier. The fourth network node may be associated with a third optical subcarrier, wherein the third optical subcarrier is different from the second optical subcarrier. The second network node may be configured to simultaneously transmit the second optical subcarrier to the third network node and the fourth network node.
[0077] In some embodiments, the second network node may be configured to generate a third optical subcarrier representing the second data, and transmit the third optical subcarrier to the third network node and the fourth network node simultaneously.
[0078] In some embodiments, the second network node may be configured to transmit the second optical subcarrier and the third optical subcarrier simultaneously to each of the third network node and the fourth network node.
[0079] In some embodiments, the second network node may be configured to transmit the second optical subcarrier to the third and fourth network nodes at a first time, and transmit the third optical subcarrier to the third and fourth network nodes at a second time different from the first time.
[0080] In some embodiments, the first network node may include a first laser configured to generate the first optical subcarrier by modulating an output of the first laser according to a first carrier frequency.
[0081] In some embodiments, the second network node may include a second laser configured to generate the second optical subcarrier by modulating the output of the second laser according to a second carrier frequency.
[0082] In some implementations, the first optical subcarrier and the second optical subcarrier may be Nyquist subcarriers.
[0083] In some embodiments, the second network node may be configured to interpret the first optical subcarrier from a local oscillator signal having a first frequency and generate the second optical subcarrier from a transmitter oscillator signal having a second frequency. The first frequency may be equal to the second frequency.
[0084] In some embodiments, the local oscillator signal and the transmitter oscillator signal may be provided by a common laser.
[0085] In another aspect, a method includes generating, by a first network node, a first optical subcarrier representing first data; transmitting, by the first network node, the first optical subcarrier to a second network node; receiving, by the second network node, the first optical subcarrier from the first network node; generating, by the second network node, a second optical subcarrier representing the first data, wherein the second optical subcarrier is different from the first optical subcarrier; and transmitting, by the second network node, the second optical subcarrier to a third network node.
[0086] Implementations of this aspect may include one or more of the following features.
[0087] In some embodiments, the method may include receiving, by the third network node, a second optical subcarrier from the second network node, and determining, by the third network node, the first data based on the second optical subcarrier.
[0088] In some embodiments, the method may include generating, by the second network node, a third optical subcarrier representing the first data. The third wavelength may be different from the second optical subcarrier. The method may also include transmitting, by the second network node, the third optical subcarrier to a fourth network node; receiving, by the fourth network node, the third optical subcarrier from the second network node; and determining, by the fourth network node, the first data based on the third optical subcarrier.
[0089] In some embodiments, the method may include receiving, by a third network node, a second optical subcarrier from a second network node; generating, by the third network node, a third optical subcarrier representing the first data, wherein the third optical subcarrier is different from the second optical subcarrier; transmitting, by the third network node, the third optical subcarrier to a fourth network node; receiving, by the fourth network node, the third optical subcarrier from the third network node; and determining, by the fourth network node, the first data based on the third signal.
[0090] In some embodiments, the third network node may be associated with the second optical subcarrier. The fourth network node may be associated with the third optical subcarrier. The third optical subcarrier may be different from the second optical subcarrier. The method may also include simultaneously transmitting, by the second network node, the second optical subcarrier to the third network node and the fourth network node.
[0091] In some embodiments, the method may include generating, by the second network node, a third optical subcarrier representing the second data, and transmitting, by the second network node, the third optical subcarrier to the third network node and the fourth network node simultaneously.
[0092] In some embodiments, the method may include transmitting, by the second network node, the second optical subcarrier and the third optical subcarrier simultaneously to each of the third network node and the fourth network node.
[0093] In some embodiments, the second optical subcarrier may be transmitted to the third network node and the fourth network node at a first time.The third optical subcarrier may be transmitted to the third network node and the fourth network node at a second time different from the first time.
[0094] In some embodiments, the method may include generating a first optical subcarrier by a first laser of the first network node by modulating an output of the first laser according to a first carrier frequency.
[0095] In some embodiments, the method may include generating a second optical subcarrier by a second laser of the second network node by modulating an output of the second laser according to a second carrier frequency.
[0096] In some implementations, the first optical subcarrier and the second optical subcarrier may be Nyquist subcarriers.
[0097] In some embodiments, the method may further include interpreting, by the second network node, the first optical subcarrier based on a local oscillator signal having a first frequency. The second optical subcarrier may be generated based on a transmitter oscillator signal having a second frequency. The first frequency may be equal to the second frequency.
[0098] In some embodiments, the local oscillator signal and the transmitter oscillator signal may be provided by a common laser.
[0099] In another aspect, a node includes a first transceiver and a second transceiver. The node is configured to receive a first optical subcarrier representing first data from a second node communicatively coupled to the node using the first transceiver, and to transmit a second optical subcarrier representing the first data to a third node communicatively coupled to the node using the second transceiver. The second optical subcarrier is different from the first optical subcarrier.
[0100] In another aspect, a node includes a receiver, a switch circuit, and a transmitter. The receiver has multiple receiver outputs. The receiver is configured to receive a first modulated optical signal comprising a first plurality of optical subcarriers and provide multiple data streams based on the first plurality of optical subcarriers. Each of the multiple data streams is associated with a corresponding one of the multiple optical subcarriers and provided from a corresponding one of the multiple receiver outputs. The switch circuit has multiple switch inputs and multiple switch outputs. Each of the multiple switch inputs is configured to receive a corresponding one of the multiple data streams. Each of the multiple switch outputs is configured to provide a corresponding one of the multiple data streams. The transmitter has multiple inputs. Each input is coupled to a corresponding one of the multiple switch outputs and configured to receive a corresponding one of the multiple data streams. The transmitter is configured to provide a second modulated optical signal based on the multiple data streams. The second modulated optical signal carries a second plurality of optical subcarriers. Each of the second plurality of optical subcarriers is associated with a corresponding one of the multiple data streams.
[0101] Implementations of this aspect may include one or more of the following features.
[0102] In some implementations, one of the first plurality of optical subcarriers may have a first frequency and may be associated with one of the plurality of data streams. One of the second plurality of optical subcarriers may have a second frequency and may be associated with the one of the plurality of data streams.
[0103] In some embodiments, the one of the first plurality of optical subcarriers may carry information indicative of the one of the plurality of data streams.The one of the second plurality of optical subcarriers may carry information indicative of the one of the plurality of data streams.
[0104] In some embodiments, the switch circuit can include a crosspoint switch.
[0105] In some embodiments, the receiver may include an optical hybrid circuit configured to receive at least a portion of the first modulated optical signal and a local oscillator signal. The receiver may also include a photodiode circuit configured to receive a mixing product output from the optical hybrid circuit based on the at least a portion of the first modulated optical signal and the local oscillator signal, and provide a first electrical signal based on the mixing product. The receiver may also include an analog-to-digital conversion circuit configured to receive the first electrical signal and provide a second electrical signal based on the first electrical signal, the second electrical signal being a digital signal. The receiver may also include a digital signal processor configured to output multiple data streams based on the second electrical signal.
[0106] In some implementations, a node may include a local oscillator laser configured to provide a local oscillator signal.
[0107] In some embodiments, the transmitter may include: a digital signal processor configured to receive multiple data streams and output multiple digital signals based on the multiple data streams, a digital-to-analog conversion circuit configured to output analog signals based on the digital signals, a plurality of driver circuits configured to provide drive signals based on the analog signals, a laser configured to provide an optical signal, and a modulator configured to receive the optical signal and provide a second modulated optical signal based on the drive signal.
[0108] In some implementations, each of the first plurality of optical subcarriers may be a Nyquist subcarrier.
[0109] In some implementations, each of the second plurality of optical subcarriers may be a Nyquist subcarrier.
[0110] In some embodiments, during a first time interval, the switch may have a first switch configuration such that during the first time interval, a first one of a second plurality of optical subcarriers having a first frequency carries information associated with one of the plurality of data streams. Furthermore, during a second time interval, the switch may have a second switch configuration such that a second one of the second plurality of subcarriers carries the information.
[0111] In some implementations, the switch may have a first switch configuration based on a first control signal provided to the switch, and the switch may have a second control signal based on a second control signal provided to the switch.
[0112] In another aspect, a node includes a first digital signal processor, a switch circuit, and a second digital signal processor. The first digital signal processor is configured to provide a plurality of data streams, each data stream associated with a corresponding one of a first plurality of optical subcarriers. The switch circuit has a plurality of switch inputs and a plurality of switch outputs. Each of the plurality of switch inputs is configured to receive a corresponding one of the plurality of data streams and provide a corresponding one of the plurality of data streams. The second digital signal processor has a plurality of DSP inputs. Each of the DSP inputs is configured to receive a corresponding one of the plurality of data streams from a corresponding one of the plurality of switch outputs, such that during a first time interval, and wherein one of the DSP inputs is configured to receive a first data stream from the plurality of data streams, and during a second time interval different from the first time interval, the one of the DSP inputs is operable to receive a second data stream from the plurality of data streams.
[0113] Implementations of this aspect may include one or more of the following features.
[0114] In some implementations, the switch circuit can include a crosspoint switch.
[0115] In some embodiments, a node may include an optical hybrid circuit configured to receive at least a portion of a modulated optical signal and a local oscillator signal, the modulated optical signal including multiple optical subcarriers. The node may also include a photodiode circuit configured to receive a mixed product output from the optical hybrid circuit based on the at least a portion of the first modulated optical signal and the local oscillator signal, the photodiode circuit providing a first electrical signal based on the mixed product. The node may also include an analog-to-digital conversion circuit configured to receive the first electrical signal and provide a second electrical signal based on the first electrical signal, the second electrical signal being a digital signal. The first digital signal processor may be configured to provide multiple data streams based on the second electrical signal.
[0116] In some implementations, a node may include a local oscillator laser configured to provide a local oscillator signal.
[0117] In some embodiments, the plurality of optical subcarriers may be a first plurality of optical subcarriers. The node may further include: a digital-to-analog conversion circuit configured to output analog signals based on the plurality of data streams, a plurality of driver circuits configured to provide drive signals based on the analog signals, a laser configured to provide an optical signal, and a modulator configured to receive the optical signal and provide a modulated optical signal based on the drive signal, the modulated optical signal comprising a second plurality of optical subcarriers.
[0118] In some implementations, each of the plurality of optical subcarriers may be a Nyquist subcarrier.
[0119] In some implementations, each of the first plurality of optical subcarriers and each of the second plurality of optical subcarriers may be a Nyquist subcarrier.
[0120] In some implementations, one of the first plurality of subcarriers can be associated with one of the plurality of data streams during the first interval, and one of the second plurality of optical subcarriers can be associated with the one of the plurality of data streams.
[0121] In some implementations, the one subcarrier of the first plurality of subcarriers may have a first frequency, and the one subcarrier of the second plurality of subcarriers may have a second frequency different from the first frequency.
[0122] In some implementations, the second plurality of subcarriers may have a frequency that is different from each of the frequencies of the first plurality of subcarriers.
[0123] The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0124] Figure 1 and Figure 2 is a block diagram illustrating an example of a network.
[0125] Figure 3A is a block diagram illustrating an example of a master node.
[0126] Figure 3B is a block diagram illustrating an example of a secondary node.
[0127] Figure 4 is an example of a spectrum diagram showing an optical subcarrier.
[0128] Figure 5 An example of a master node transmitter is shown.
[0129] Figure 6A is a block diagram illustrating an example of a master node transmitter digital signal processor (DSP).
[0130] Figure 6B A portion of the master node transmitter DSP is described in more detail.
[0131] Figure 6C A portion of the master node transmitter DSP is described in more detail.
[0132] Figure 7A An example of a secondary node receiver is shown.
[0133] Figure 7B An example of overlapping bandwidth associated with secondary nodes is shown.
[0134] Figure 8 An example of an auxiliary node receiver DSP is shown.
[0135] Figure 9A and Figure 9B An example interconnection between a primary node and multiple secondary nodes is shown.
[0136] Figures 10A-10D Example interconnections between multiple nodes are shown.
[0137] Figure 11 An example system for routing data in a data center is shown.
[0138] Figure 12A Shown Figure 11 The interconnection between a top-of-rack (ToR) switch and multiple server computers in the system is shown.
[0139] Figure 12B Shown Figure 11 Example interconnections between a core switch and multiple ToR switches in the system shown.
[0140] Figure 13-15 An example system having a mesh topology is shown.
[0141] Figures 16A-16F An example process for deploying a mesh network is shown.
[0142] Figure 17A An example system for performing frequency or wavelength conversion is shown.
[0143] Figure 17B Another example system for performing frequency or wavelength conversion is shown.
[0144] Figure 18A is a flow chart of an example process for transferring data.
[0145] Figure 18B is a flow chart of another example process for transferring data.
[0146] Figure 18C is a flow chart of an example process for designing and deploying a network with an asymmetric mesh configuration.
[0147] Figure 18D is a flow chart of another example process for transferring data.
[0148] Figure 19 is a diagram of an example computer system.
[0149] Like reference numerals in the various drawings represent like elements. DETAILED DESCRIPTION
[0150] In an example communication network, a first node of the network can simultaneously transmit data to multiple second nodes of the network, such that similar data is "multicast" to multiple nodes simultaneously. Upon receiving the data, each of the second nodes can selectively retain one or more portions of the data (e.g., portions of the data intended for that node) and discard one or more other portions of the data (e.g., portions of the data intended for other nodes). In some embodiments, the data can be transmitted as one or more optical carriers.
[0151] In addition, at least some of the second nodes may include components with different (e.g., lower) capabilities than the components included in the first node. For example, the bandwidth or data capacity of at least some of the second nodes may be less than the bandwidth or data capacity associated with the first node, such that the capacity associated with each of those second nodes is less than the capacity of the first node. Thus, the first node can transmit data to each of those auxiliary nodes according to a higher bit rate (e.g., using a higher capacity transceiver), and each of those second nodes can transmit data to the first node according to a lower bit rate (e.g., using a lower capacity transceiver). Thus, downstream data (e.g., from the first node to the second node) is transmitted according to a larger bandwidth pooling allocation, while upstream data (e.g., from each second node to the first node) is transmitted according to each smaller dedicated bandwidth allocation.
[0152] Example implementations of the aforementioned aspects are described in further detail herein.
[0153] Furthermore, embodiments described herein can provide one or more technical benefits in the context of computer networks. For example, in at least some embodiments, the configuration enables traffic to be transmitted in certain directions based on a pooled allocation of bandwidth (e.g., shared among multiple nodes of the network to alleviate congestion), while also enabling traffic to be transmitted in certain other directions based on smaller, dedicated bandwidth allocations. Furthermore, in at least some embodiments, such a configuration enables the network to be deployed and maintained in a more cost-effective manner (e.g., compared to using only high-capacity transceivers throughout the network).
[0154] Figure 1 An example convergent network 100 is illustrated in which a master node 110 communicates with a plurality of secondary nodes 112-j through 112-m (sometimes individually or collectively referred to as secondary nodes 112). In some implementations, one or more of the secondary nodes 112 may be remote from the master node 110.
[0155] The master node 110 transmits data in the form of one or more optical subcarriers (e.g., as described in more detail below) in a downstream direction via an optical communication path 111 to a splitter 114. The splitter 114 receives the optical subcarriers and provides a power split of each optical subcarrier to a corresponding one of the secondary nodes 112-j through 112-m via a corresponding one of the optical communication paths 113-j through 113-m. Each of the optical communication paths 111 and 113-j through 113-m may include one or more segments of optical fiber, optical amplifiers, reconfigurable add-drop multiplexers (ROADMs), and / or other optical fiber communication equipment.
[0156] Primary node 110 has data capacity to receive n Gbit / s of data (e.g., a data stream) for transmission to secondary node 112. Each secondary node 112 can receive and output a portion of the data input to primary node 110 (e.g., to a user or client). In this example, secondary nodes 112-j, 112-k, 112-1, and 112-m are configured to output data (e.g., a data stream) at j Gbit / s, k Gbit / s, 1 Gbit / s, and m Gbit / s, respectively, where the sum of j, k, 1, and m is equal to n (where j, k, 1, m, and n are positive numbers).
[0157] Figure 2 Transmission of additional optical subcarriers in the upstream direction from auxiliary nodes 112-j through 112-m to master node 110 is shown. In some embodiments, each of auxiliary nodes 112-j through 112-m can transmit a corresponding set of optical subcarriers or one optical subcarrier to optical combiner 116 via a respective one of optical communication paths 115-1 through 115-m. Optical combiner 116 can, in turn, combine the optical subcarriers received from auxiliary nodes 112-j through 112-m onto optical communication path 117. In some embodiments, optical communication paths 115-1 through 115-m and 117 can have a similar structure to optical communication paths 111 and 112-1 through 112-m.
[0158] like Figure 2 As further shown, each of the secondary nodes 112-j through 112-m receives a respective data stream having a respective data rate of j Gbit / s, k Gbit / s, 1 Gbit / s, and m Gbit / s. At the primary node 110, the data contained in these streams may be output such that the aggregate data provided by the primary node 110 is n Gbit / s (e.g., such that n is equal to the sum of j, k, 1, and m).
[0159] In some embodiments, optical subcarriers may be transmitted in both the upstream and downstream directions over the same optical communication path. For example, selected optical subcarriers may be transmitted in the downstream direction from the master node 110 to the auxiliary node 112, while other optical subcarriers may be transmitted in the upstream direction from the auxiliary node 112 to the master node 110.
[0160] In some embodiments, the network 100 may include additional master nodes and / or auxiliary nodes and optical communication paths, or fewer master nodes and / or auxiliary nodes and optical communication paths. In some embodiments, the network 100 may have a configuration different from that described above. For example, the network 100 may have a mesh configuration or a point-to-point configuration.
[0161] Figure 3A An example master node 110 is illustrated in greater detail. In this example, the master node 110 includes a transmitter 202 that provides downstream modulated optical signals comprising optical subcarriers and a receiver 204 that receives upstream optical subcarriers carrying data originating from one or more secondary nodes 112.
[0162] Figure 3B An example auxiliary node 112 is illustrated in greater detail. In this example, the auxiliary node 112 includes receiver circuitry 302 that receives one or more downstream transmitted optical subcarriers, and transmitter circuitry 304 that transmits one or more optical subcarriers in the upstream direction.
[0163] Figure 4 An example of a transmission spectrum that can accommodate twenty optical subcarriers SC0 to SC19 that can be output from master node transmitter 202 is illustrated. Each of the optical subcarriers SC0 to SC19 has a corresponding one of frequencies f0 to f19. In some embodiments, the optical subcarriers SC0 to SC19 are Nyquist subcarriers. A Nyquist subcarrier is a group of optical signals, each carrying data, where (i) the spectrum of each such optical signal within the group is sufficiently non-overlapping so that the optical signals remain distinguishable from each other in the frequency domain, and (ii) such a group of optical signals is generated by modulating light from a single laser. Typically, each subcarrier can have a spectral bandwidth at least equal to the Nyquist frequency, which is determined by the baud rate of such subcarrier.
[0164] In some implementations, each of the secondary nodes 112 may include components having different (e.g., lower) capabilities than components included in the primary node 110. For example, the bandwidth or data capacity of the secondary nodes 112 may be less than the bandwidth or data capacity associated with the primary node 110, such that the capacity associated with each of the secondary nodes 112 is less than the capacity of the primary node 110.
[0165] Furthermore, if Figure 4As shown, the master node 110 may have a bandwidth BW-P such that it can receive, process, recover, and output data carried by each optical subcarrier SC1 to SC20 from the transmitter 202 or from the receiver 204. In contrast, each of the auxiliary nodes 112-j to 112-m may have a corresponding one of bandwidths BWj to BWm such that each auxiliary node has data processing capabilities or is capable of processing and outputting data carried by multiple optical subcarriers (e.g., according to Figure 4 In the example shown, up to 9 optical subcarriers) carry data.
[0166] In some embodiments, certain components (e.g., optical components and certain electrical components) of the auxiliary node 112 can be configured so that they can process signals only over a limited frequency range or bandwidth. The limited frequency range or bandwidth can be smaller than the signal frequency range that the optical and electrical components in the primary node 110 can accommodate. For example, electrical components such as digital-to-analog converters (DACs), analog-to-digital converters (ADCs), and digital signal processors (DSPs), as well as optical components such as modulators in the auxiliary node 112, can have associated bandwidths that are smaller than those of corresponding components in the primary node 110. This can be useful, for example, to reduce the cost of deploying and / or maintaining the network.
[0167] exist Figure 4 , example bandwidths for each of the secondary nodes 112 are shown in FIG. Specifically, bandwidth BWj associated with secondary node 112-j extends over or encompasses a range of frequencies f0 to f8, including optical subcarriers SC0 to SC8, respectively; bandwidth BWk associated with secondary node 112-k extends over or encompasses a range of frequencies f5 to f13, including optical subcarriers SC5 to SC13, respectively; bandwidth BW1 associated with secondary node 112-1 extends over or encompasses a range of frequencies f10 to f18, including optical subcarriers SC10 to SC18, respectively; and bandwidth BWm associated with secondary node 112-m extends over or encompasses a range of frequencies f11 to f19, including optical subcarriers SC11 to SC19, respectively. In contrast, bandwidth BW-P of master node 110 encompasses the entire frequency range f0 to f19 of optical subcarriers SC0 to SC19.
[0168] Also like Figure 4As shown, some optical subcarriers may have frequencies that fall within multiple bandwidths. For example, optical subcarriers SC5 and SC6 may have frequencies that fall within bandwidth BWj and bandwidth BWk. Therefore, data carried by such optical subcarriers can be detected and selectively output from auxiliary node 112-j or auxiliary node 112-k. For example, if a customer requests more data to be received and output from auxiliary node 112-k and less data to be output from auxiliary node 112-j, auxiliary nodes 112-j and 112-k can be controlled or dynamically configured so that data carried by optical subcarriers SC5 and SC6 is assigned to and output from auxiliary node 112-k instead of auxiliary node 112-j. Thus, the data output from each auxiliary node can adapt to changing customer requirements over time.
[0169] Also like Figure 4 As shown, certain optional subcarriers, such as optical subcarriers SC2, SC7, SC12, and SC17, may be designated or dedicated for carrying information related to parameters or characteristics associated with one or more of the auxiliary nodes 112. For example, such parameters may correspond to the amount of data, data rate, or capacity to be output by one or more auxiliary nodes. In particular, such optical subcarriers may carry information, for example, to configure or adjust the amount of data, capacity, or data rate of data output from auxiliary nodes 112-j through 112-m, respectively. As another example, in addition to control information, each of these optical subcarriers may also carry user or customer data (also referred to as client data). Figure 4 In the example shown, only the optical subcarriers SC2, SC7, SC12, S17 are transmitted.
[0170] As another example, subcarriers SC2, SC7, SC12, and SC17 may be modulated to carry control or operations, administration, and maintenance (OAM) information and related data corresponding to parameters associated therewith (e.g., the capacity and status of the device). As another example, subcarrier SC2 may be modulated to carry such control and parameter information associated with secondary node 112-j, subcarrier SC7 may be modulated to carry such control and parameter information associated with secondary node 112-k, subcarrier SC12 may be modulated to carry such control and parameter information associated with secondary node 112-1, and subcarrier SC17 may be modulated to carry such control and parameter information associated with secondary node 112-m. As another example, the optical subcarriers may be modulated to carry information related to parameters associated with the timing and scheduling of data transmission from secondary node 112 to master node 110.
[0171] Next reference Figure 5 and Figures 6A-6C 1 to describe data allocation and subcarrier transmission.
[0172] Figure 5 The transmitter 202 of the master node 110 is illustrated in more detail. The transmitter 202 includes a plurality of circuits or switches SW, as well as a transmitter DSP (TX DSP) 502 and a D / A and optical block 501. In this example, twenty switches (SW-0 to SW-19) are shown, although more than 20 switches may be provided. Figure 5 More or fewer switches may be shown. In some embodiments, each switch may have two respective inputs: a first input may receive user data, and a second input may receive control information or a signal (CNT). Each of switches SW-0 through SW-19 may receive a corresponding one of control signals SWC-0 through SWC-19 output from control circuitry 571 (which may include one or more microprocessors, field programmable gate arrays (FPGAs), or other processor circuits). Based on the received control signal, each of switches SW-0 through SW-19 selectively outputs data streams D-0 through D-19 or any one of control signals CNT-0 through CNT-19. Control signal CNT may be any combination of configuration bits used for control and / or monitoring purposes. For example, control signal CNT may include instructions to one or more of auxiliary nodes 112 to alter the data output from auxiliary node 112, such as by identifying the optical subcarrier associated with such data. As another example, the control signal may include a series of known bits used in auxiliary node 112 to "train" a receiver to detect and process such bits so that the receiver can further process subsequent bits. As another example, the control channel CNT may include information that can be used by the polarization mode dispersion (PMD) equalizer circuit 825, as described below, to correct errors caused by polarization rotation of the X and Y components of one or more of the optical subcarriers. In a further example, the control information CNT may be used to recover or correct the phase difference between the laser 508 and the local oscillator laser 710 in each auxiliary node 112. This detected phase difference may be referred to as a cycle slip. In another example, the control information CNT may be used to recover, synchronize, or correct the timing difference between the clocks provided in the master node 110 and the auxiliary node 112.
[0173] In some embodiments, one or more of the switches SW may be omitted and the control signal CNT may be provided directly to the DSP 502. In addition, each input to the DSP 502, such as the input to the FEC encoder 602 described below (see Figure 6A ), can receive a combination of control information (e.g., as described above) and user data.
[0174] In some embodiments, the control signal CNT may include information regarding the number of optical subcarriers output from each auxiliary node 112. Figures 6A-6C Although such description is provided in conjunction with the master node DSP 502, similar circuitry may be included in the DSP of the secondary node 112 to adjust or control the number of optical subcarriers output therefrom.
[0175] Based on the outputs of switches SW-0 to SW-19, DSP 502 can provide multiple outputs to D / A and optical block 501. D / A and optical block 501 includes digital-to-analog conversion (DAC) circuits 504-1 to 504-4, which convert digital signals received from DSP 502 into corresponding analog signals. D / A and optical block 501 also includes driver circuits 506-1 to 506-2, which receive the analog signals from DACs 504-1 to 504-4 and adjust their voltage or other characteristics to provide a drive signal to a corresponding one of modulators 510-1 to 510-4.
[0176] The D / A and optical block 501 also includes modulators 510-1 to 510-4 (eg, Mach-Zehnder modulators (MZMs)) that modulate the phase and / or amplitude of light output from the laser 508. Figure 5 As shown, light output from laser 508 (also included in block 501) is split such that a first portion of the light is provided to a first MZM pair, including MZMs 510-1 and 510-2, while a second portion of the light is provided to a second MZM pair, including MZMs 510-3 and 510-4. The first portion of the light is further split into a third portion and a fourth portion, such that the third portion is modulated by MZM 510-1 to provide an in-phase (I) component of the X (or TE) polarization component of the modulated optical signal, and the fourth portion is modulated by MZM 510-2 and fed to phase shifter 512-1 to shift the phase of the light by 90 degrees to provide a quadrature (Q) component of the X polarization component of the modulated optical signal. Similarly, the second portion of light is further split into a fifth portion and a sixth portion, such that the fifth portion is modulated by MZM 910-3 to provide an I component of the Y (or TM) polarization component of the modulated optical signal, and the sixth portion is modulated by MZM 510-4 and fed to phase shifter 512-2 to shift the phase of such light by 90 degrees to provide a Q component of the Y polarization component of the modulated optical signal.
[0177] The optical outputs of MZMs 510-1 and 510-2 are combined to provide an X-polarized optical signal including I and Q components and fed to a polarization beam combiner (PBC) 514 provided in block 501. In addition, the outputs of MZMs 510-3 and 510-4 are combined to provide an optical signal that is fed to a polarization rotator 513 further provided in block 501, which rotates the polarization of this optical signal to provide a modulated optical signal having Y (or TM) polarization. The Y-polarized modulated optical signal is also provided to PBC 514, which combines the X- and Y-polarized modulated optical signals to provide a polarization-multiplexed ("dual-polarization") modulated optical signal onto, for example, optical fiber 516, which may be included as an optical fiber segment in optical communication path 111.
[0178] The polarization-multiplexed optical signal output from the D / A and optical block 501 includes the aforementioned optical subcarriers SC0-SC19, such that each optical subcarrier has X and Y polarization components and I and Q components. Furthermore, each of the optical subcarriers SC0 through SC19 can be associated with or correspond to a respective one of the outputs of switches SW-0 through SW-19. In some embodiments, switches SW2, SW7, SW12, and SW17 can provide control information carried by a respective one of control signals CNT-2, CNT-7, CNT-12, and CNT-17 to the DSP 502. Based on such control signals, the DSP 502 can provide outputs that cause the optical subcarriers SC2, SC7, SC12, and SC17 to carry data indicating the control information carried by CNT-2, CNT-7, CNT-12, and CNT-17, respectively. In addition, the remaining optical subcarriers SC0, SC1, SC3 to SC6, SC8 to SC11, SC13 to SC16, and SC18 to SC20 may carry information indicating a corresponding one of the data streams D-0, D-1, D-3 to D-6, D-8 to D-11, D-13 to D-16, and D-18 to D-20 output from a corresponding one of the switches SW0, SW1, SW3 to SW-6, and SW-8. In some embodiments, at least some switches (e.g., SW0 to SW19, e.g., SW0 to SW19) may be omitted. Figure 5 ), thereby providing the data stream directly to the Tx DSP 502.
[0179] Figure 6AAn example of the TX DSP 502 is shown in greater detail. The TX DSP 502 may include FEC encoders 602-0 through 602-19, each of which may receive a corresponding one of the multiple outputs from switches SW0 through SW19. The FEC encoders 602-0 through 602-19 perform forward error correction encoding on the corresponding one of the switch outputs, for example by adding parity bits to the received data. The FEC encoders 602-0 through 602-19 may also provide timing skew between subcarriers to correct for skew introduced by the link between nodes 110 and 112-j through 112-m. Furthermore, the FEC encoders 602-0 through 602-19 may interleave the received data.
[0180] Each of the FEC encoders 602-0 through 602-19 provides an output to a corresponding one of a plurality of bit-to-symbol circuits 604-0 through 604-19 (collectively referred to herein as "604"). Each bit-to-symbol circuit 604 can map coded bits to symbols on the complex plane. For example, the bit-to-symbol circuit 604 can map four bits to one symbol in a dual-polarization QPSK constellation. Each bit-to-symbol circuit 604 provides a first symbol associated with a corresponding one of the switch outputs (e.g., D-0) to the DSP section 603, the first symbol having a complex representation XI+j*XQ. The data indicating such a first symbol is carried by the X-polarization component of each subcarrier SC0-SC19.
[0181] Each bit-to-symbol circuit 604 may also provide a second symbol having a complex representation YI+j*YQ, which is also associated with a corresponding output of switches SW0-SW19. However, the data indicative of this second symbol is carried by the Y polarization component of each of subcarriers SC-0 through SC-19.
[0182] In some embodiments, the mapping carried by circuits 604-0 through 604-19 can define a specific modulation format for each subcarrier. That is, the circuit can define a mapping for all optical subcarriers that indicates a binary phase-shift keying (BPSK) modulation format, a quadrature phase-shift keying (QPSK) modulation format, or an m-quadrature amplitude modulation (QAM, where m is a positive integer, such as 4, 8, 16, or 64) format. In another example, one or more optical subcarriers can have a modulation format that is different from the modulation format of the other optical subcarriers. That is, one of the optical subcarriers can have a QPSK modulation format, while another optical subcarrier can have a different modulation format, such as 8-QAM or 16-QAM. In another example, one of the optical subcarriers can have an 8-QAM modulation format, while another optical subcarrier can have a 16QAM modulation format. Thus, while all optical subcarriers can carry data at the same data and / or baud rate, one or more of the optical subcarriers can carry data at a different data or baud rate than one or more of the other optical subcarriers. Furthermore, the modulation format, baud rate, and data rate may change over time depending on capacity requirements. Adjusting these parameters may be accomplished, for example, by applying appropriate signals to the mapper 604 based on control information or data.
[0183] like Figure 6A As further shown, each first symbol output from each bit-to-symbol circuit 604 is provided to a corresponding one of first overlap and hold buffers 605-0 through 605-19 (collectively referred to herein as overlap and hold buffers 605). Each overlap and hold buffer 605 can buffer a specific number of symbols (e.g., 256 symbols). In some embodiments, each of the overlap and hold buffers 605 can receive 128 first symbols, or another number of such symbols, at a time from a corresponding one of the bit-to-symbol circuits 604. Thus, the overlap and hold buffer 605 can combine the 128 new symbols from the bit-to-symbol circuit 605 with the previous 128 symbols received from the bit-to-symbol circuit 605.
[0184] Each of the overlap and hold buffers 605 provides an output (e.g., in the time domain) to a corresponding one of the fast Fourier transform (FFT) circuits 606-0 through 606-19 (collectively, "FFTs 606"). In some embodiments, the output can include 256 symbols or another number of symbols. Each of the FFTs 606 converts the received symbols to the frequency domain using or based on a fast Fourier transform. Each of the FFTs 606 can provide frequency domain data to bin and switch blocks 621-0 through 621-19. As discussed in more detail below, the bin and switch block 621 can include memory or registers, also referred to as frequency bins (FBs) or points, that store frequency components associated with each optical subcarrier.
[0185] Select the frequency window FB in Figure 6B Such a group of frequency windows FB is associated with a given subcarrier. Thus, for example, a first group of frequency windows FB0-0 to FB0-n is associated with SC0, while a second group of frequency windows FB19-0 to FB19-n is associated with SC19 (where n is a positive integer). Figure 6B As further shown, each frequency window FB is further coupled to a corresponding one of the switches SW. For example, each of the frequency windows FB0-0 to FB0-n is coupled to a corresponding one of the switches SW0-0 to SW0-n, and each of the frequency windows FB19-0 to FB19-n is coupled to a corresponding one of the switches or switch circuits SW19-0 to SW19-n.
[0186] Each switch SW selectively provides frequency domain data output from one of the FFT circuits 606-0 to 606-19 or a predetermined value, such as 0. To block or eliminate transmission of a particular subcarrier, the switch SW associated with the set of frequency bins FB associated with that optical subcarrier is configured to provide a zero value to the corresponding frequency bin. Thus, to block optical subcarrier SC0, switches SW0-0' to SW0-n' provide a zero (0) value to a corresponding one of the frequency bins FB0-0 to FB0-n. Further processing of the zero (0) value by replicator component 1007 and other components and circuits in DSP 502 results in a drive signal being provided to modulator 510, causing optical subcarrier SC0 to be omitted from the optical output from the modulator.
[0187] Conversely, the switch SW' can be configured to provide the output of the FFT 606 (e.g., frequency domain data FD) to the corresponding frequency bin FB. Further processing of the contents of the frequency bin FB by the replicator component 607 and other circuits in the DSP 502 results in a drive signal being provided to the modulator 510, which, based on such drive signal, generates the optical subcarrier corresponding to the frequency bin grouping associated with the subcarrier.
[0188] In the example discussed above, switches SW0-0' to SW0-n' provide frequency domain data FD0-0 to FD-n from FFT 606-0 to a corresponding one of switches SW0-0 to SW0-n. These switches, in turn, provide the frequency domain data to a corresponding one of frequency bins FB0-0 to FB0-n for further processing, as described in more detail below.
[0189] Each of the replicator components or circuits 607-0 to 607-19 can replicate the contents of the frequency window FB and store such contents (e.g., T / 2-based filtering for a subcarrier) in a corresponding one of the plurality of replicator components. This replication can increase the sampling rate. In addition, the replicator components or circuits 607-0 to 607-19 can arrange or align the contents of the frequency window to fall within the bandwidth associated with the pulse shaping filter circuits 608-0 to 608-19 described below.
[0190] Each of the pulse shaping filter circuits 608-0 through 608-19 may apply a pulse shaping filter to data stored in 512 frequency bins of a corresponding one of the plurality of replicator components or circuits 607-0 through 607-19, thereby providing a corresponding one of a plurality of filtered outputs, which are multiplexed and subjected to an inverse FFT as described below. The pulse shape filter circuits 608-1 through 608-19 calculate the conversion between the symbol and the desired subcarrier spectrum so that the subcarriers can be spectrally packed together for transmission (e.g., with close frequency separation). The pulse shape filter circuits 608-0 through 608-19 may also be used to introduce timing skew between subcarriers to correct for skew caused by nodes (e.g., Figure 1 The timing skew caused by the links between the nodes shown in ) can be reduced. The multiplexer component 609, which can include a multiplexer circuit or memory, can receive the filtered outputs from the pulse shape filter circuits 608-0 through 608-19 and multiplex or combine these outputs together to form an element vector.
[0191] Next, the IFFT circuit or component 610-1 can receive the element vector and provide a corresponding time domain signal or data based on an inverse fast Fourier transform (IFFT). In some embodiments, the time domain signal can have a rate of 64GSample / s. For example, a take last buffer or memory circuit 611-1 can select the last 1024 samples or another number of samples from the output of the IFFT component or circuit 610-1 and provide the samples to DACs 504-1 and 504-2 at, for example, 64Gsample / s (see Figure 5). As described above, DAC 504-1 is associated with the in-phase (I) component of the X polarization signal, while DAC 504-2 is associated with the quadrature (Q) component of the Y polarization signal. Thus, consistent with the complex representation XI+jXQ, DAC 504-1 receives a value associated with XI, while DAC 504-2 receives a value associated with jXQ. Figure 5 As shown, based on these inputs, DACs 504 - 1 and 504 - 2 provide analog outputs to MZMD 506 - 1 and MZMD 506 - 2 , respectively.
[0192] like Figure 6A As further shown, each of the bit-to-symbol circuits 604-0 through 604-19 outputs a corresponding symbol indicating data carried by the Y polarization component of the polarization-multiplexed modulated optical signal output on optical fiber 516. As described above, these symbols may have a complex representation YI+j*YQ. Each such symbol may be processed by a corresponding one of the overlap and hold buffers 615-0 through 615-19, a corresponding one of the FFT circuits 616-0 through 616-19, a corresponding one of the replicator components or circuits 617-0 through 617-19, a pulse shape filter circuit 618-0 through 618-19, a multiplexer or memory 619, an IFFT 610-2, and a fetch-last buffer or memory circuit 611-2 to provide a processed symbol having a representation YI+j*YQ in a manner similar to or identical to the manner discussed above for generating the processed symbol XI+j*XQ output from fetch-last circuit 611-1. In addition, the symbol components YI and YQ are provided to DACs 504-3 and 504-4, respectively ( Figure 5 Based on these inputs, DACs 504-3 and 504-4 provide analog outputs to MZMD 506-3 and MZMD 506-4, respectively, as described above.
[0193] Although Figure 6A While DSP 502 is shown as including a particular number and arrangement of functional components, in some implementations, DSP 502 may include additional functional components, fewer functional components, different functional components, or a different arrangement of functional components. Furthermore, the number of overlap and save buffers, FFTs, replicator circuits, and pulse shape filters associated with the X component may generally be equal to the number of switch outputs, and the number of such circuits associated with the Y component may also be equal to the number of switch outputs. However, in other examples, the number of switch outputs may differ from the number of these circuits.
[0194] As described above, based on the outputs of the MZMDs 506-1 to 506-4, a plurality of optical subcarriers SC0 to SC19 can be output to the optical fiber 516 ( Figure 5) on which the optical fiber is coupled to the master node 110.
[0195] In some embodiments, the number of optical subcarriers transmitted from the primary node 110 to the secondary node 112 can vary over time based on, for example, capacity requirements at the primary and secondary nodes. For example, if less downlink capacity is initially required at one or more of the secondary nodes, the transmitter 202 in the primary node 110 can be configured to output fewer optical subcarriers. Conversely, if more capacity is subsequently required, the transmitter 202 can provide more optical subcarriers.
[0196] Furthermore, if a particular auxiliary node 112 requires adjustment based on changing capacity requirements, the output capacity of the auxiliary node may be increased or decreased by increasing or decreasing the number of optical subcarriers output from the auxiliary node.
[0197] As described above, an optical subcarrier can be removed or eliminated by storing and then processing a zero (0) or other predetermined value in the frequency bin FB group associated with the optical subcarrier. To add or restore such an optical subcarrier, the frequency domain data output from the FFT 606 can be stored in the frequency bin FB and then processed to provide the corresponding optical subcarrier. Thus, optical subcarriers can be selectively added or removed from the optical outputs of the master node transmitter 202 and the auxiliary node transmitter 304, thereby varying the number of subcarriers output from these transmitters as needed.
[0198] In the above example, zero (0) or other predetermined values are stored in the selected frequency window FB to prevent transmission of a particular optical subcarrier. In some embodiments, such zero or value may alternatively be provided at the output of the corresponding replicator component 607 or stored in a corresponding location of the memory or multiplexer 609 in a manner similar to that described above. Alternatively, the above zero or value may be provided at the corresponding output of the pulse shape filter 608 in a manner similar to that described above.
[0199] In another example, a corresponding one of the pulse shape filters 608-1 through 608-19 can selectively generate zeros or predetermined values that, when further processed, also cause one or more of the optical subcarriers to be omitted from the output of the master node transmitter 202 or the auxiliary node transmitter 304. In particular, as Figure 6C As shown in FIG, pulse shape filters 608-0 to 608-19 are shown as including multiplier circuit groups M0-0 to M0-n, M19-0 to M19-n (also individually or collectively referred to as M). Each multiplier circuit M forms part of a corresponding butterfly filter. In addition, each multiplier circuit group is associated with a corresponding optical subcarrier.
[0200] Each multiplier circuit M receives a corresponding one of the output groups RD0-0 through RD0-n, RD19-0 through RD19-n from replicator component 607. To remove or eliminate one of the optical subcarriers, the multiplier circuits M receiving the outputs within a particular group associated with that optical subcarrier multiply those outputs by zero (0), such that each multiplier circuit M within that group produces a product equal to zero (0). The zero products are then subjected to further processing similar to that described above to provide a drive signal to modulator 510, which results in the corresponding optical subcarrier being omitted from the output of a transmitter (e.g., transmitter 202 or transmitter 304).
[0201] Conversely, to provide an optical subcarrier, each multiplier circuit M within a particular group may multiply a corresponding one of the replica outputs RD by a corresponding one of the coefficients C0-0 through C0-n ... C19-0 through C19-n, resulting in at least some non-zero products being output. Based on the products output from the corresponding multiplier group, a drive signal is provided to the modulator 510 to output the desired optical subcarrier from the transmitter (e.g., transmitter 202 or transmitter 304).
[0202] Thus, to block or eliminate optical subcarrier SC0, each of multiplier circuits M0-0 through M0-n (associated with optical subcarrier SC0) can multiply a corresponding one of replica outputs RD0-0 through RD0-n by zero (0). Thus, each such multiplier circuit provides a product equal to zero, which is further processed so that the resulting drive signal causes modulator 510 to provide an optical output without optical subcarrier SC0. To restore optical subcarrier SC0, multiplier circuits M0-0 through M0-n multiply a corresponding one of appropriate coefficients C0-0 through C0-n by a corresponding one of replica outputs RD0-0 through RD0-n to provide products, at least some of which are non-zero. Based on these products, a modulator drive signal is generated, which causes optical subcarrier SC0 to be output.
[0203] The above examples are described in conjunction with generating or removing the X component of an optical subcarrier. The above processes and circuits are employed or included in the DSP 502 and the optical circuitry for generating the Y component of the subcarrier to be blocked. For example, the switch and window circuit blocks 622-0 to 622-19 may have a similar structure to the switch and window circuit block 621 described above and operate in a similar manner to provide zero or frequency domain data, as appropriate, to selectively block the Y component of one or more optical subcarriers. Alternatively, a multiplier circuit may be provided, as described above in conjunction with Figure 6C Those described, with a zero product output from the selected pulse shape filter 618 to block the Y component of a particular subcarrier, or to generate an optical subcarrier if a non-zero coefficient is provided to the multiplier circuit.
[0204] Thus, the above examples illustrate a mechanism by which optical subcarriers SC can be selectively blocked or added to the output of transmitter 202. Since the DSP and optical circuits provided in auxiliary node transmitter 304 can be similar to those of primary node transmitter 202, the above processes and circuits can be provided, for example, in auxiliary node transmitter 304 to selectively add and remove optical subcarriers SC from the output of the auxiliary node transmitter. Figure 6B and / or Figure 6C The described circuitry may be configured such that during a first time period, a first number of optical subcarriers is output from a transmitter (in either the primary node 110 or the secondary node 112) based on an initial capacity requirement. Subsequently, during a second time period, a second number of optical subcarriers may be output from the transmitter based on a capacity requirement that is different from the first capacity requirement.
[0205] Optical subcarriers SC0 to SC19 can be provided Figure 1 The auxiliary node 112 in the next reference Figure 7A An example of a receiver circuit 302 in one auxiliary node 112 is described.
[0206] like Figure 7A As shown, the optical receiver 302 may include an Rx optical and A / D block 700, which in conjunction with a DSP 750 may perform coherent detection. The block 700 may include a polarization separator (PBS) 705 having a first output 705-1 and a second output 705-2, a local oscillator (LO) laser 710, 90-degree optical hybrids or mixers 720-1 and 720-2 (generally referred to as hybrid mixers 720 and individually as hybrid mixers 720), detectors 730-1 and 730-2 (generally referred to as detectors 730 and individually as detectors 730, each including a single photodiode or a balanced photodiode), AC coupling capacitors 732-1 and 732-2, transimpedance amplifiers / automatic gain control circuits TIA / AGC 734-1 and 734-2, and ADCs 740-1 and 740-2 (generally referred to as ADC 740 and individually as ADC 740).
[0207] Polarization beam splitter (PBS) 705 may include a polarization splitter that receives an input polarization-multiplexed optical signal comprising optical subcarriers SC0 to SC19 provided by optical fiber link 701, which may be, for example, an optical fiber segment that is part of one of the aforementioned optical communication paths 113-k to 113-m. PBS 705 may split the incoming optical signal into two orthogonal polarization components, X and Y. The Y component may be provided to polarization rotator 706, which rotates the polarization of the Y component to have an X polarization. A hybrid mixer 720 may combine the X and rotated Y polarization components with light from a local oscillator laser 710 (e.g., a tunable laser). For example, the hybrid mixer 720-1 can combine a first polarization signal (e.g., a component of an incoming optical signal having a first or X (TE) polarization output from a first PBS port) with light from the local oscillator 710, and the hybrid mixer 720-2 can combine a rotated polarization signal (e.g., a component of an incoming optical signal having a second or Y (TM) polarization output from a second PBS port) with light from the local oscillator 710. In some embodiments, a polarization rotator 790 can be provided at the PBS output to rotate the Y component polarization to have an X polarization.
[0208] Detector 730 can detect the mixed products output from the optical hybrid to form corresponding voltage signals. These voltage signals are then AC-coupled by capacitors 732-1 and 732-1, and amplified and gain-controlled by TIA / AGCs 734-1 and 734-2. The outputs of TIA / AGCs 734-1 and 734-2 and ADC 740 can convert the voltage signals into digital samples. For example, two detectors (e.g., photodiodes) 730-1 can detect the X-polarization signal to form corresponding voltage signals, and the corresponding two ADCs 740-1 can convert the voltage signals into digital samples of the first polarization signal after amplification, gain control, and AC coupling. Similarly, two detectors 730-2 can detect the rotated Y-polarization signal to form corresponding voltage signals, and the corresponding two ADCs 740-2 can convert the voltage signals into digital samples of the second polarization signal after amplification, gain control, and AC coupling. The RX DSP 750 may process the digital samples associated with the X and Y polarization components to output data associated with one or more optical subcarriers within a set of optical subcarriers SC0 to SC19 encompassed by a bandwidth (e.g., one of bandwidths BWj, BWk, BW1, and BWm) associated with the auxiliary node that hosts the particular DSP 750. For example, Figure 4As shown, optical subcarriers SC0 through SC8 are within bandwidth BSj, and such optical subcarriers can be processed by the receiver in auxiliary node 112-j. However, optical subcarriers SC5 through SC13 within bandwidth BWk can be processed by the receiver in auxiliary node 112-k. That is, bandwidths BWj and BWk overlap, such that optical subcarriers within the overlapping portion of these bandwidths, i.e., optical subcarriers SC5 through SC8, will be processed by receivers in both auxiliary node 112-j and auxiliary node 112-k. If data associated with these optical subcarriers is intended to be output from auxiliary node 112-k, switch circuitry can be provided to selectively output such data at auxiliary node 112-k rather than at auxiliary node 112-j.
[0209] Although Figure 7A The optical receiver 302 is shown as including a particular number and arrangement of components, but in some embodiments, the optical receiver 302 may include additional components, fewer components, different components, or components arranged differently. The number of detectors 730 and / or ADCs 740 may be selected to achieve an optical receiver 302 capable of receiving polarization multiplexed signals. In some cases, Figure 7A One of the components shown in the figure may perform the operations described herein by Figure 7A The function of another component in the component shown is performed.
[0210] To select a particular optical subcarrier or a group of optical subcarriers at the auxiliary node 112, the local oscillator 710 can be tuned to output light having a wavelength or frequency relatively close to the wavelength of the selected optical subcarrier, thereby causing beating between the local oscillator light and the selected optical subcarrier. For other unselected subcarriers, such beating will not occur or will be significantly attenuated, allowing the DSP 650 to detect and process the data carried by the selected optical subcarrier.
[0211] As described above, each secondary node 112 may have a smaller bandwidth than the bandwidth associated with the primary node 110. The optical subcarriers included in each secondary node may be determined by the frequency of the local oscillator laser 710 in the secondary node receiver 302. For example, Figure 7BAs shown, bandwidth BWj associated with auxiliary node 112-j can be centered around local oscillator frequency fLOj, bandwidth BWk associated with auxiliary node 112-k can be centered around local oscillator frequency fLOk, bandwidth BWl associated with auxiliary node 112-1 can be centered around local oscillator frequency fLO1, and bandwidth BWm associated with auxiliary node 112-m can be centered around local oscillator frequency fLOm. Thus, each of bandwidths BWj through BWm can be shifted based on the frequency of each auxiliary node's local oscillator laser 710. Tuning the local oscillator frequency, for example by changing the temperature of local oscillator laser 710, can result in a corresponding shift in bandwidth to encompass a different set of optical subcarriers than was detected prior to such bandwidth shift. The temperature of local oscillator laser 710 can be controlled using a thin film heater, for example, disposed near the local oscillator laser or near a portion of the local oscillator laser, such as a mirror portion. Alternatively, the local oscillator laser can be frequency tuned by controlling the current supplied to the laser. The local oscillator laser 710 may be a semiconductor laser, such as a distributed feedback laser or a distributed Bragg reflector laser.
[0212] In some embodiments, the maximum bandwidth or number of optical subcarriers that can be received, detected, and processed by the auxiliary node receiver 302 can be limited based on hardware limitations of various circuit components in the receiver 302 and, therefore, can be fixed. Thus, the bandwidth associated with each auxiliary node 112 can be less than the bandwidth, BW-P, associated with the master node 110. Furthermore, the number of auxiliary nodes can be greater than the number of optical subcarriers output from the master node 110. Furthermore, the number of uplink optical subcarriers received by the master node 110 can be equal to the number of optical subcarriers transmitted by the master node 110 in the uplink direction. Alternatively, the number of optical subcarriers collectively transmitted by the auxiliary nodes 112 in the uplink direction can be less than or greater than the number of downlink optical subcarriers output from the master node. Furthermore, in some embodiments, one or more of the auxiliary nodes 112 can output a single optical subcarrier.
[0213] like Figure 7B As shown and discussed above, the bandwidths associated with auxiliary nodes 112 may overlap such that certain optical subcarriers may be detected by multiple auxiliary nodes 112. If data associated with such optical subcarriers is intended for one of those auxiliary nodes, but not the others, switch circuitry may be provided in the auxiliary nodes to selectively output the data at the intended auxiliary node, but not the others.
[0214] For example, Figure 7A As further shown, switches or circuits SW-0 through SW-8 may be provided at the output of DSP 750 to provide a plurality of analog inputs to the DSP 750 based on the analog inputs from control circuit 771 (see FIG. Figure 7A ) outputs a corresponding one of the control signals CNT-0 to CNT-8 to selectively output the data detected from the received optical subcarrier. Like the control circuit 571, the control circuit 771 may include a microprocessor, an FPGA, or other processor circuits. The control signal may specify the output of each corresponding switch. Thus, if the data carried by a predetermined subcarrier is intended to be output at a specific auxiliary node 112, the switch SW at that auxiliary node may be configured based on the received control signal CNT to provide the desired data but block data not intended for that node. In some embodiments, at least some switches (e.g., SW-0 to SW-8, such as Figure 7A ), so that the data stream is output directly from the Rx DSP 750.
[0215] Figure 8 1 and 2 illustrate exemplary components of a receiver digital signal processor (DSP) 750. As described above, analog-to-digital (A / D) circuits 740-1 and 740-2 ( Figure 7A ) outputs digital samples corresponding to the analog input provided to it. In some embodiments, samples can be provided by each A / D circuit at a rate of 64GSamples / s. The digital samples correspond to symbols carried by the X polarization of the optical subcarrier and can be represented by the complex number XI+jXQ. The digital samples can be provided to the overlap and save buffer 805-1, such as Figure 8 As shown. FFT component or circuit 810-1 can receive 2048 vector elements, for example, from overlap and save buffer 805-1, and convert the vector elements to the frequency domain using, for example, a fast Fourier transform (FFT). FFT component 810-1 can convert the 2048 vector elements into 2048 frequency components, each of which can be stored in a register or "window" or other memory as a result of performing the FFT.
[0216] The frequency components may then be demultiplexed by demultiplexer 811-1, and a group of these components may be provided to a corresponding one of dispersion equalizer circuits CDEQ 812-1-0 through 812-1-8, each of which may include a finite impulse response (FIR) filter that may correct, counteract, or reduce the effects of chromatic dispersion of the transmitted optical subcarriers or errors associated with such dispersion. Each of CDEQ circuits 812-1-0 through 812-1-8 provides an output to a corresponding polarization mode dispersion (PMD) equalizer circuit 825-0 through 825-8 (which may be individually or collectively referred to as a PMB equalizer circuit 825).
[0217] The digital samples associated with the Y-polarization component of optical subcarrier SC1 output from A / D circuit 840-2 can be processed in a manner similar to the digital samples associated with the X-polarization component of each optical subcarrier output from A / D circuit 840-1. Specifically, overlap and save buffer 805-2, FFT 810-2, demultiplexer 811-2, and CDEQ circuits 812-2-0 through 812-2-8 can have similar structures and operate in a manner similar to buffer 805-1, FFT 810-1, demultiplexer 811-1, and CDEQ circuits 812-1-0 through 812-1-8, respectively. For example, each of CDEQ circuits 812-2-0 through 812-8 can include an FIR filter that corrects, cancels, or reduces the effects of chromatic dispersion of the transmitted optical subcarrier or errors associated with such dispersion. Furthermore, each of the CDEQ circuits 812-2-0 through 812-2-8 provides an output to a corresponding one of the PMDEQs 825-0 through 825-8.
[0218] like Figure 8 As further shown, the output of one of the CDEQ circuits (e.g., CDEQ 812-1-0) can be provided to a clock phase detector circuit 813 to determine the clock phase or clock timing associated with the received subcarrier. This phase or timing information or data can be provided to ADCs 740-1 and 740-2 to adjust or control the timing of the digital samples output from ADCs 740-1 and 740-2.
[0219] Each of the PMDEQ circuits 825 may include another FIR filter that corrects, offsets, or reduces the effects of PMD of the transmitted optical subcarrier or errors associated with PMD. Each of the PMDEQ circuits 825 may provide a first output to a corresponding one of the IFFT components or circuits 830-0-1 to 830-8-1 and a second output to a corresponding one of the IFFT components or circuits 830-0-2 to 830-8-2, each of which may convert the 256-element vector (in this example) back to the time domain as 256 samples according to, for example, an inverse fast Fourier transform (IFFT).
[0220] The time-domain signals or data output from IFFTs 830-0-1 through 830-8-1 are provided to corresponding ones of Xpol carrier phase correction circuits 840-1-1 through 840-8-1, which can apply carrier recovery techniques to compensate for the linewidth of the X-polarization transmitter (e.g., laser 508) and receiver (e.g., local oscillator laser 710). In some embodiments, each carrier phase correction circuit 840-1 through 840-8-1 can compensate or correct the frequency and / or phase difference between the X-polarization of the transmitted signal and the X-polarization of the light from local oscillator 700 based on the output of Xpol carrier recovery circuit 840-0-1, which performs carrier recovery on one of the optical subcarriers based on the output of IFFT 830-0-1. After such X-polarization carrier phase correction, the data associated with the X-polarization component can be represented as symbols having a complex representation xi+j*xq in a constellation, such as a QPSK constellation or a constellation related to another modulation form, such as m-quadrature amplitude modulation (QAM), where m is an integer. In some embodiments, taps of an FIR filter included in one or more of the PMDEQ circuits 825 may be updated based on an output of at least one of the carrier phase correction circuits 840-0-1 through 840-8-01.
[0221] In a similar manner, the time domain signals or data output from IFFTs 830-0-2 through 830-8-2 are provided to corresponding ones of Ypol carrier phase correction circuits 840-0-2 through 840-8-2, which can compensate for or correct the linewidth of the Y polarization transmitter (e.g., laser 508) and receiver (e.g., local oscillator laser 710). In some embodiments, each carrier phase correction circuit 840-0-2 through 840-8-2 can also correct or compensate for the frequency and / or phase difference between the Y polarization of the transmitted signal and the Y polarization of the light from the local oscillator 710. After such Y polarization carrier phase correction, the data associated with the Y polarization component can be represented as symbols having a complex representation yi+j*yq in a constellation, such as a QPSK constellation or a constellation associated with another modulation form, such as m-quadrature amplitude modulation (QAM), where m is an integer. In some embodiments, the output of one of circuits 840-0-2 through 840-8-2 may be used to update taps of an FIR filter included in one or more of the PMDEQ circuits 825 instead of or in addition to the output of at least one of the carrier recovery circuits 840-0-1 through 840-8-1.
[0222] like Figure 8As further shown in FIG, the output of the carrier recovery circuit (e.g., carrier recovery circuit 840-0-1) can also be provided to carrier phase correction circuits 840-1-1 through 840-8-1 and 840-0-2 through 840-8-2, whereby the phase correction circuit can determine or calculate a corrected carrier phase associated with each received optical subcarrier based on one of the recovered carriers, rather than providing multiple carrier recovery circuits, each associated with a corresponding optical subcarrier. Equalization, carrier recovery, and clock recovery can be further enhanced by utilizing known (training) bits that can be included in the control signal CNT, for example, by providing an absolute phase reference between the transmit and local oscillator lasers.
[0223] Each symbol-to-bit circuit or component 845-0-1 through 845-8-1 can receive the symbols output from a corresponding one of circuits 840-0-1 through 840-8-1 and map the symbols back to bits. For example, each symbol-to-bit component 845-0-1 through 845-8-1 can map an X-polarization symbol in a QPSK or m-QAM constellation to Z bits, where Z is an integer. For dual-polarization QPSK modulated subcarriers, Z is four. The bits output from each component 845-0-1 through 845-8-1 are provided to a corresponding one of FEC decoder circuits 860-0 through 860-8.
[0224] The Y polarization symbols are output from a corresponding one of circuits 840-0-2 through 840-8-2, each of which has a complex representation yi+j*yq associated with the data carried by the Y polarization component. Each Y polarization, like the X polarization symbols mentioned above, can be provided to a corresponding one of bit-to-symbol circuits or components 845-0-2 through 845-8-2, each having a similar structure and operating in a similar manner to symbol-to-bit components 845-0-1 through 845-8-1. Each of circuits 845-0-2 through 845-8-2 can provide an output to a corresponding one of FEC decoder circuits 860-0 through 860-8.
[0225] Each of the FEC decoder circuits 860 can use, for example, forward error correction to remove errors in the output of the symbol-to-bit circuit 845. This error correction bit, which may include user data output from the auxiliary node 112, can be provided to a corresponding one of the switch circuits SW-0 through SW-8. As described above, the switch circuits SW-0 through SW-8 in each auxiliary node 112 can selectively provide or block data based on whether the data is intended to be output from the auxiliary node. In addition, if one of the control information (CNT) of the optical subcarrier is received, such as information identifying the switch SW that outputs the data and other switches SW that block the data, the control information can be output from one of the switches, and based on such control information, the control circuit 771 generates a control signal CNT at the auxiliary node.
[0226] In some embodiments, data from the output of DSP 750 may be blocked without using switches SW-0 through SW-8. As an example, zeros (0) or other predetermined values may be stored in the frequency window associated with the blocked data, as well as in the optical subcarriers corresponding to the blocked data. Furthermore, as described above, processing of these zeros or predetermined data by circuitry in DSP 750 will result in, for example, null or zero data output from a corresponding one of FEC decoders 860. Switch circuitry may be provided at the output of FFTs 810-1 and 810-2, similar to that described above in FIG. Figure 6B , thereby selectively inserting zero or a predetermined value to selectively block the corresponding output data from the DSP 750. Such a switch may also be provided at the output of or within the demultiplexers 811-1 and 811-2 to selectively provide zero or a predetermined value.
[0227] In another example, zeros (0) may be inserted into the chromatic dispersion equalizer (CDEQ) circuit 812 associated with the X and Y polarization components of each optical subcarrier. In particular, a multiplier circuit (provided in a corresponding butterfly filter circuit), such as the multiplier circuit M described above, may selectively multiply the input of the CDEQ circuit 812 by zero or a desired coefficient. Figure 6C As discussed, multiplication by zero produces a zero product. When such a zero product is further processed by corresponding circuits in the DSP 750 (e.g., the corresponding IFFT 1230, the carrier phase correction component 840, the symbol-to-bit component 845, and the FEC decoder), the corresponding output of the DSP 750 will also be zero. Thus, data associated with the optical subcarrier received by the auxiliary node receiver 112 but not intended to be blocked from being output from the receiver can be blocked.
[0228] However, if capacity requirements change and such previously blocked data is to be output from a given secondary node receiver DSP 750, appropriate coefficients may be provided to the multiplier circuit so that at least some of its inputs are not multiplied by zero. Upon further processing, as described above, data associated with the inputs to the multiplier circuit and corresponding to a particular optical subcarrier is output from the secondary node receiver DSP 750.
[0229] Although Figure 8 The DSP 750 is shown as including a particular number and arrangement of functional components, but in some implementations, the DSP 750 may include additional functional components, fewer functional components, different functional components, or a different arrangement of functional components.
[0230] In some embodiments, a node (e.g., master node 110 as described above) can simultaneously transmit data to multiple other nodes (e.g., multiple secondary nodes 112 as described above), such that similar data is "multicast" to multiple nodes simultaneously. Upon receiving the data, each node can selectively retain one or more portions of the data (e.g., portions of the data intended for the node) and discard one or more other portions of the data (e.g., portions of the data intended for other nodes). In some embodiments, the data can be transmitted as one or more optical carriers (e.g., as described above).
[0231] Furthermore, as described above, at least some of the secondary nodes 112 may include components having different (e.g., lower) capabilities than the components included in the primary node 110. For example, the bandwidth or data capacity of at least some of the secondary nodes 112 may be less than the bandwidth or data capacity associated with the primary node 110, such that the capacity associated with each of these secondary nodes 112 is less than the capacity of the primary node 110. Thus, the primary node 100 may transmit data to each of those secondary nodes 112 according to a higher bit rate (e.g., using a higher capacity transceiver), and each of those secondary nodes 112 may transmit data to the primary node 110 according to a lower bit rate (e.g., using a lower capacity transceiver). Thus, downlink data (e.g., from the primary node 100 to the secondary nodes 112) is transmitted according to a larger bandwidth pooling allocation, while uplink data (e.g., from each secondary node 112 to the primary node 110) is transmitted according to a respective smaller dedicated bandwidth allocation.
[0232] As an example, Figure 9AA master node 110 is shown interconnected to a plurality of auxiliary nodes 112a-112d via respective optical communication paths 111. The master node 110 includes a transceiver 900 having a first capability (e.g., capable of transmitting data according to a first bit rate or bandwidth). Each of the auxiliary nodes 112a-112d includes a respective transceiver 902a-902d having a second capability (e.g., capable of transmitting data according to a second bit rate or bandwidth). In some embodiments, the transceivers 900 and 902a-902d can be implemented in a manner similar to the transmitters 202 and 302 and / or the receivers 204 and 304 described above.
[0233] Transceiver 900 has a higher capacity than each of transceivers 902a-902d. As an example, transceiver 900 can simultaneously transmit data to each of transceivers 902a-902d at a bit rate of 100 Gbit / s (e.g., multicast data at a bit rate of 100 Gbit / s), while each of transceivers 902a-902d can transmit data at a bit rate of 25 Gbit / s. Upon receiving the data, each of the second nodes 902a-902d can selectively retain one or more portions of the data (e.g., data portions intended for the secondary node) and discard one or more other portions of the data (e.g., data portions intended for other secondary nodes).
[0234] The optical communication paths 111 may be similar to those described above (e.g., with respect to Figure 1 and Figure 2 ). For example, each optical communication path 111 may include one or more segments of optical fiber, an optical switch, an optical amplifier, a reconfigurable add / drop multiplexer (ROADM), and / or other optical fiber communication equipment. As an illustrative example, Figure 9B 1. An example physical interconnection between a master node 110 and auxiliary nodes 112a-112d via an optical communication path 111 is shown. The optical communication path 111 includes several lengths of optical fiber 904 and several optical splitters 906a-906c. The optical fiber transmits the optical signal from the master node 110 to the input of a first optical splitter 906a, which splits the optical signal into two corresponding lengths of optical fiber at its output. In turn, each optical signal is further split (e.g., according to a nested or "tree" topology) by a second optical splitter 906b or a third optical splitter 906c. Thus, the original optical signal output from the master node 110 is ultimately split into four optical signals, each of which is transmitted to a corresponding one of the auxiliary nodes 112a-112d. Although an example network topology is shown and described, this is merely an illustrative example. In practice, other network topologies are also possible, depending on the implementation.
[0235] In some embodiments, a node may use multiple different links to transmit data to and receive data from another node. As an example, Figure 10A A first node 1000a and a second node 1000b are shown. The first node 1000a includes two corresponding transceivers 1002a and 1002b, and the second node 1000b includes two corresponding transceivers 1004a and 1004b. In some embodiments, the transceivers 1002a, 1002b, 1004a, and 1004b can be implemented in a manner similar to the transmitters 202 and 302 and / or the receivers 204 and 304 described above.
[0236] Transceivers 1002a and 1004a have higher capacities than transceivers 1002b and 1004b. As an example, transceivers 1002a and 1004a can transmit data to transceivers 1002b and 1004b, respectively, according to a first bit rate (e.g., 100 Gbit / s), and transceivers 1002b and 1004b can transmit data according to a second bit rate (e.g., 50 Gbit / s) that is less than the first bit rate. Thus, data can be transmitted from transceiver 1002a to transceiver 1004b according to a larger bandwidth pooling allocation (e.g., 100 Gbit / s, which can be shared among multiple receiving nodes via multicast), and data can be transmitted from transceiver 1002b to transceiver 1004a according to a smaller dedicated bandwidth allocation (e.g., 50 Gbit / s).
[0237] As described above, in some embodiments, a node can transmit data to and receive data from multiple other nodes simultaneously. As an example, Figure 10B Three nodes 1006a-1006c are shown. The first node 1006a includes three corresponding transceivers 1008a-1008c, the auxiliary node 1006b includes two corresponding transceivers 1010a and 1010b, and the third node 1006c includes two corresponding transceivers 1012a and 1012b. In some embodiments, the transceivers 1008a, 1008b, 1010a, 1010b, 1012a, and 1012b can be implemented in a manner similar to the transmitters 202 and 302 and / or the receivers 204 and 304 described above.
[0238] Transceivers 1008a, 1010a and 1012a have a capacity higher than transceivers 1008b, 1008c, 1010b and 1012b. As an example, transceivers 1008a, 1010a and 1012a can transmit data according to a first bit rate (e.g., 100Gbit / s), and transceivers 1008b, 1008c, 1010b and 1012b can transmit data according to a second bit rate (e.g., 50Gbit / s) that is less than the first bit rate. In addition, each of transceivers 1008a, 1010a and 1012a can multicast data to multiple other transceivers simultaneously. Therefore, node 1006a is interconnected to each of other nodes 1006b and 1006c via two corresponding links. For each link, data is transmitted in the downstream direction (e.g., from a high-capacity transceiver to a low-capacity transceiver) according to a larger bandwidth pool allocation (e.g., 100 Gbit / s, which can be shared among multiple receiving nodes via multicast), and data is transmitted in the upstream direction according to a smaller dedicated bandwidth allocation (e.g., 50 Gbit / s).
[0239] In some embodiments, data may be multicast among two or more transceivers in a single node. As an example, Figure 10C Two nodes 1014a and 1014b are shown. The first node 1014a includes three corresponding transceivers 1016a-1016c, and the second node 1014b includes three corresponding transceivers 1018a-1018c. In some embodiments, the transceivers 1016a-1016c and 1018a-1018c can be implemented in a manner similar to the transmitters 202 and 302 and / or the receivers 204 and 304 described above.
[0240] Transceivers 1016a and 1018a have a higher capacity than transceivers 1016b, 1016c, 1018b, and 1018c. As an example, transceivers 1016a and 1018a can transmit data according to a first bit rate (e.g., 100Gbit / s), and transceivers 1016b, 1016c, 1018b, and 1018c can transmit data according to a second bit rate (e.g., 50Gbit / s) that is less than the first bit rate. In addition, each of transceivers 1016a and 1018a can multicast data to multiple other transceivers simultaneously. Therefore, nodes 1014a and 1014b are interconnected via three links. For each link, data is transmitted in the downstream direction (e.g., from a high-capacity transceiver to a low-capacity transceiver) according to a larger bandwidth pool allocation (e.g., 100 Gbit / s, shared between the two destination transceiver nodes via multicast), and data is transmitted in the upstream direction according to a smaller dedicated bandwidth allocation (e.g., 50 Gbit / s).
[0241] As another example, Figure 10D Three nodes 1020a-1020c are shown. The first node 1020a includes five corresponding transceivers 1022a-1022e, the second node 1020b includes three corresponding transceivers 1024a-1024c, and the third node 1020c includes three corresponding transceivers 1026a-1024c. In some embodiments, the transceivers 1022a-1022e, 1024a-1024c, and 1026a-1024c can be implemented in a manner similar to the transmitters 202 and 302 and / or the receivers 204 and 304 described above.
[0242] Transceivers 1022a, 1024a and 1026a have a higher capacity than transceivers 1022b-1022e, 1024b, 1024c, 1026b and 1024c. As an example, transceivers 1022a, 1024a and 1026a can transmit data according to a first bit rate (e.g., 100Gbit / s), and transceivers 1022b-1022e, 1024b, 1024c, 1026b and 1024c can transmit data according to a second bit rate (e.g., 50Gbit / s) that is less than the first bit rate. In addition, each of transceivers 1022a, 1024a and 1026a can multicast data to multiple other transceivers simultaneously. Therefore, node 1020a is interconnected via three corresponding links with each of nodes 1020b and 1020c. For each link, data is transmitted in the downstream direction (e.g., from a high-capacity transceiver to a low-capacity transceiver) according to a larger bandwidth pool allocation (e.g., 100 Gbit / s, shared between the two destination transceiver nodes via multicast), and data is transmitted in the upstream direction according to a smaller dedicated bandwidth allocation (e.g., 50 Gbit / s).
[0243] One or more features described herein may be implemented, for example, in a data center environment. As an example, Figure 11 A system 1100 for routing data in a data center is shown. System 1100 includes N core switches CORE 1 through CORE N that form the backbone of a communication network. In addition, system 1100 includes M top-of-rack (ToR) switches ToR 1 through ToR M that are interconnected with core switches CORE 1 through CORE via corresponding optical communication paths 111 to form the edge or "top" of the communication network. In addition, the system includes several server computers interconnected with ToR switches ToR 1 through ToR M via corresponding optical communication paths 111. In some embodiments, system 1100 can be at least partially a local area network (LAN), such as an Ethernet LAN.
[0244] During operation of the system 1100, core switches CORE 1 to CORE N receive data from a wide area network (WAN), such as the Internet, and route the data to one or more of the server computers via ToR switches ToR 1 to ToR M. In addition, the server computers can communicate with each other and / or transmit data to the WAN via ToR switches ToR 1 to ToR M and / or core switches CORE 1 to CORE N.
[0245] System 1100 can be implemented using one or more high-capacity transceivers and one or more low-capacity transceivers in a manner similar to that described above. This enables traffic to be transmitted in certain directions based on bandwidth pooling allocations (e.g., shared between multiple nodes of the network to alleviate congestion), while also enabling traffic to be transmitted in certain other directions based on smaller dedicated allocations of bandwidth. Furthermore, this enables the network to be deployed and maintained in a more cost-effective manner (e.g., compared to using only high-capacity transceivers throughout the network). In some embodiments, transceivers can be configured in the same manner as described above with respect to Figure 9A-9B and Figures 10A-10D The described transceiver is implemented in a similar manner.
[0246] To illustrate, Figure 12A An example interconnection between a ToR switch and server computers in a system 1100 is shown. In this example, the ToR switch includes a plurality of low-capacity transceivers 1102 (e.g., 64) and a plurality of high-capacity transceivers 1104 (e.g., 8). In some embodiments, each high-capacity transceiver 1104 can be configured to transmit data according to a maximum bit rate of 800 Gbit / s (e.g., using 8 groups of optical subcarriers, each with a bandwidth allocation of 100 Gbit / s). Furthermore, the low-capacity transceivers can be configured to transmit data according to a maximum bit rate of 100 Gbit / s (e.g., using 2 groups of optical subcarriers, each with a bandwidth allocation of 50 Gbit / s). In this example, each high-capacity transceiver 1104 is communicatively coupled to a different corresponding group of server computers (e.g., 64 server computers per group). Furthermore, each optical subcarrier of the high-capacity transceiver 1104 is assigned to a different subgroup of server computers (e.g., 8 server computers per subgroup). In addition, each server computer includes a corresponding low-capacity transceiver (eg, a transceiver capable of transmitting data at a bit rate of 12.5 Gbit / s). For ease of illustration, the low-capacity transceivers of the server computers are not shown in FIG. Figure 12A Shown separately in.
[0247] Furthermore, high-capacity transceiver 1104 is configured to multicast data to its corresponding subgroup of server computers. For example, to transmit data to one of the server computers in subgroup 1 of group 1, high-capacity transceiver 1104 coupled to group 1 may select an optical subcarrier corresponding to subgroup 1 (e.g., an optical subcarrier with a bandwidth allocation of 100 Gbit / s) and multicast the data to each server computer in subgroup 1. Upon receiving the multicast data, each server computer in subgroup 1 examines the data to determine whether it is the intended destination for the data (e.g., by examining a destination data field in the data and / or determining whether the data is included in the optical subcarrier to which the server computer has been assigned). If so, the server computer retains the data. If not, the server computer discards the data. Thus, when receiving data from the ToR switch, each server computer shares a common pool of allocated bandwidth (100 Gbit / s in this example) with the other server computers.
[0248] Furthermore, each server computer can use its own low-capacity transceiver to transmit data to the ToR switch based on a dedicated optical subcarrier (e.g., an optical subcarrier with a 12.5 Gbit / s bandwidth allocation). Thus, each server computer is guaranteed a specific bandwidth allocation (12.5 Gbit / s in this example), regardless of the bandwidth used by other server computers.
[0249] exist Figure 12A In the illustrated example, the ToR switch includes eight high-capacity transceivers 1104, each coupled to eight groups of 64 server computers, each further divided into eight subgroups of eight server computers. Furthermore, each high-capacity transceiver 1104 is configured to transmit data at a maximum bit rate of 800 Gbit / s (e.g., using eight groups of optical subcarriers, each with a bandwidth allocation of 100 Gbit / s), and the low-capacity transceivers 1104 are configured to transmit data at a maximum bit rate of 100 Gbit / s (e.g., using two groups of optical subcarriers, each with a bandwidth allocation of 50 Gbit / s). However, different configurations are possible. For example, the ToR switch can include any number of high-capacity transceivers 1104, each coupled to any number of groups of any number of server computers, each further divided into any number of subgroups, each with any number of server computers. Furthermore, the high-capacity transceiver 1104 and the low-capacity transceiver may be configured to transmit data according to different maximum bit rates, using different numbers of optical subcarriers, and / or different bandwidth allocations.
[0250] Figure 12BAn example interconnection between a core switch and a plurality of ToR switches in a system 1100 is shown. In this example, the number of first high-capacity transceivers 1106 in the core switch (e.g., 8) and the number of second high-capacity transceivers 1108 (e.g., 8) are shown. In some embodiments, each of the first and second high-capacity transceivers 1108 can be configured to transmit data according to a maximum bit rate of 800 Gbit / s (e.g., using 8 groups of optical subcarriers, each group having a bandwidth allocation of 100 Gbit / s).
[0251] In this example, a first high-capacity transceiver 1106 is communicatively coupled to the WAN. For example, the first high-capacity transceiver 1106 can be used to transmit data from one or more server computers and / or ToR switches to the WAN, and to receive data from the WAN intended for one or more server computers and / or ToR switches.
[0252] Furthermore, in this example, each of the second high-capacity transceivers 1108 communicates with the low-capacity transceiver 1102 (e.g., Figure 12A ) are communicatively coupled to different corresponding groups of ToR switches (e.g., groups of 32 ToR switches each). Furthermore, each optical subcarrier of the second high-capacity transceiver 1108 is assigned to a different subset of ToR switches (e.g., each subset of 4 ToR switches). Furthermore, as described above, each ToR switch includes a corresponding low-capacity transceiver 1102 (e.g., a transceiver capable of transmitting data at a bit rate of 12.5 Gbit / s).
[0253] Furthermore, two links are established between the core switch and each ToR switch. For example, the first four high-capacity switches 1108 are coupled to different corresponding ToR switch groups. In addition, the second four high-capacity switches 1108 are also coupled to corresponding groups of the same ToR switch, so that two links are established between the core switch and each ToR switch.
[0254] Furthermore, high-capacity transceivers 1108 are configured to multicast data to their corresponding subgroup of ToR switches. For example, to transmit data to a ToR switch in subgroup 1 of group 1, high-capacity transceiver 1108 coupled to group 1 may select an optical subcarrier corresponding to subgroup 1 (e.g., each optical subcarrier has a bandwidth allocation of 100 Gbit / s) and multicast the data to each ToR switch in subgroup 1. Upon receiving the multicast data, each ToR switch in subgroup 1 examines the data to determine whether it is the intended destination for the data (e.g., by examining the destination data field in the data and / or determining whether the data is included in an optical subcarrier of the assigned ToR switch). If so, the ToR switch retains the data. If not, the ToR switch discards the data. Thus, when receiving data from the core switch, each ToR switch shares a common pool of allocated bandwidth (in this example, 200 Gbit / s across two links) with the other ToR switches.
[0255] Furthermore, each of the ToR switches can use its own low-capacity transceiver to transmit data to the core switch based on a dedicated optical subcarrier (e.g., an optical subcarrier with a 12.5 Gbit / s bandwidth allocation). Thus, each server computer is guaranteed a specific bandwidth allocation (in this example, 25 Gbit / s across two links), regardless of the bandwidth used by the other server computers.
[0256] exist Figure 12B In the example shown, the core switch includes eight high-capacity transceivers 1108, each of which is coupled to four groups of 128 ToR switches (with two links between the core switch and each ToR switch), each of which is further divided into eight subgroups of four ToR switches. Furthermore, each of the first and second high-capacity transceivers 1108 is configured to transmit data according to a maximum bit rate of 800 Gbit / s (e.g., using eight groups of optical subcarriers, each with a bandwidth allocation of 100 Gbit / s). However, different configurations are possible. For example, the core switch can include any number of high-capacity transceivers 1108, each of which is coupled to any number of groups of any number of ToR switches, and each group of ToR switches is further divided into any number of subgroups, each of which has any number of ToR switches. Furthermore, the first and second high capacities 1108 can be configured to transmit data according to different maximum bit rates, using different numbers of optical subcarriers and / or different bandwidth allocations.In addition, any number of links can be established between the core switch and each ToR switch.
[0257] In About Figure 11 、 Figure 12A and Figure 12B In the examples shown and described, network nodes (e.g., core switches, ToR switches, and server computers) are arranged according to a nested or tree topology. For example, each core switch is coupled to one or more ToR switches, which in turn are coupled to one or more server computers. However, this need not always be the case. For example, in some embodiments, network nodes can be arranged according to a flat or mesh topology.
[0258] As an example, Figure 13 A system 1300 having a mesh topology is shown. The system 1300 includes a plurality of nodes 1302a-1302i interconnected with each other via respective optical communication paths 111. In this example, each node 1302a-1302i includes a corresponding high-capacity transceiver (represented by a square) and several corresponding low-capacity transceivers (represented by circles). The high-capacity transceiver can be configured to transmit data according to a first bit rate (e.g., 400 Gbit / s), while the low-capacity transceiver can be configured to transmit data according to a second bit rate (e.g., 100 Gbit / s) that is lower than the first bit rate. In some embodiments, the transceivers can be configured in a manner similar to that described above with respect to Figure 9A-9B and Figures 10A-10D The transceiver described is implemented in a similar manner.
[0259] In this example, the high-capacity transceiver of each of the nodes 1302a-1302i is coupled to the low-capacity transceiver of each of the other nodes 1302a-1302i, forming a symmetrical mesh topology. Furthermore, as described above, the high-capacity transceiver can multicast data to each of the low-capacity transceivers to which it is coupled, such that data is transmitted in the downstream direction (e.g., from the high-capacity transceiver to the low-capacity transceiver) according to a larger bandwidth pooling allocation (e.g., 400 Gbit / s, which can be shared among the receiving nodes). Furthermore, data is transmitted in the upstream direction according to a smaller bandwidth dedicated allocation (e.g., 100 Gbit / s).
[0260] As an example, node 1302a can transmit data to node 1302b by multicasting the data to each of nodes 1302b-1302i using its high-capacity transceiver (e.g., by transmitting the data using an optical subcarrier associated with each node). Upon receiving the multicast data in their respective low-capacity transceivers, each of nodes 1302b-1302i inspects the data to determine whether it is the intended destination for the data (e.g., by inspecting the destination data field in the data and / or determining whether the data is contained in the optical subcarrier to which the node has been assigned). If so, the node retains the data. If not, the node discards the data. Thus, each node shares a common pool of allocated bandwidth (400 Gbit / s in this example) with other nodes when receiving data.
[0261] exist Figure 13 In the example system 1300 shown, the high-capacity transceiver of each of the nodes 1302a-1302i is coupled to a single low-capacity transceiver of each of the other nodes 1302a-1302i. However, this need not always be the case. For example, in some embodiments, at least some of the high-capacity transceivers may be coupled to a low-capacity transceiver of another node.
[0262] As an example, Figure 14 Another system 1400 having a mesh topology is shown. The system 1400 includes a plurality of nodes 1402a-1402e interconnected with each other via respective optical communication paths 111. In this example, each node 1402a-1402e includes a respective high-capacity transceiver (represented by a square) and several respective low-capacity transceivers (represented by a circle). The high-capacity transceiver can be configured to transmit data according to a first bit rate (e.g., 400 Gbit / s), while the low-capacity transceiver can be configured to transmit data according to a second bit rate (e.g., 100 Gbit / s) that is lower than the first bit rate. In some embodiments, the transceivers can be configured in a manner similar to that described above with respect to Figure 9A-9B and Figures 10A-10D The transceiver described is implemented in a similar manner.
[0263] In this example, the high-capacity transceiver of each of the nodes 1402a-1402e is coupled to two corresponding low-capacity transceivers of each of the other nodes 1402a-1402e, forming a symmetrical mesh topology. Furthermore, as described above, the high-capacity transceiver can multicast data to each of the low-capacity transceivers to which it is coupled, such that data is transmitted in the downstream direction (e.g., from the high-capacity transceiver to the low-capacity transceiver) according to a larger bandwidth pooling allocation (e.g., 400 Gbit / s, which can be shared among the receiving nodes). Furthermore, data is transmitted in the upstream direction according to a smaller dedicated bandwidth allocation (e.g., 200 Gbit / s across two different links).
[0264] exist Figures 12A-12B and Figure 13 In the example shown in , the nodes are interconnected according to a symmetric topology (e.g., each node is interconnected in a similar manner to the other nodes). However, this is not always the case. For example, in some embodiments, the nodes may be interconnected according to an asymmetric topology. For example, at least one node may be interconnected only with a subset of the other nodes, and not directly interconnected with another subset of the other nodes.
[0265] As an example, Figure 15 Another system 1500 having a mesh topology is shown. The system 1500 includes a plurality of nodes 1502a-1502i interconnected with each other via respective optical communication paths 111. In this example, each node 1502a-1502i includes a respective high-capacity transceiver (represented by a square) and several respective low-capacity transceivers (represented by a circle). The high-capacity transceiver can be configured to transmit data according to a first bit rate (e.g., 400 Gbit / s), while the low-capacity transceiver can be configured to transmit data according to a second bit rate (e.g., 100 Gbit / s) that is lower than the first bit rate. In some embodiments, the transceivers can be configured in a manner similar to that described above with respect to Figure 9A-9B and Figures 10A-10D The transceiver described is implemented in a similar manner.
[0266] In this example, the high-capacity transceiver of node 1502a is coupled to the low-capacity transceiver of each of the other nodes 1502b-1502i. Similarly, the high-capacity transceiver of node 1502e is coupled to the low-capacity transceiver of each of the other nodes 1502a-1502d and 1502f-1502i. However, the high-capacity transceivers of the remaining nodes 1502b-1502d and 1502f-1502i are only coupled to the low-capacity transceivers of a subset of the other nodes. Thus, the nodes of system 1500 form an asymmetric mesh topology (e.g., the interconnections between some nodes are different from the interconnections between other nodes).
[0267] In some embodiments, an asymmetric mesh topology can be preferred. For example, more network resources can be allocated to certain nodes that transmit data to a large number of other nodes (e.g., a "main" hub) and / or receive data from a large number of other nodes (e.g., a "main" hub), while other nodes that transmit data to a smaller number of other nodes (e.g., a "secondary" hub) and / or receive data from a smaller number of other nodes (e.g., a "secondary" hub) can be allocated fewer network resources (e.g., fewer links can be deployed between the node and the other nodes). Therefore, the network can be deployed and maintained in a more cost-effective and / or time-efficient manner. However, a symmetric mesh topology can be used in at least some embodiments (e.g., when network traffic is not concentrated between a limited number of nodes).
[0268] In some implementations, an asymmetric mesh topology can be deployed based on measured network traffic between each node (eg, network traffic transmitted using an existing communication network). One or more network links can be selectively deployed between specific nodes based on the measurements.
[0269] To illustrate, Figure 16A Another example system 1600 is shown that includes a plurality of nodes 1602a - 1602i interconnected with each other via a communication network 1604 (eg, a network having a symmetric mesh topology, a nested or tree topology, or any other topology).
[0270] The system 1600 also includes a traffic monitoring system 1606 communicatively coupled to the network 1604. The traffic monitoring system 1606 measures the network traffic transmitted to and from each node 1602a-1602i and generates one or more utilization metrics based on the measurements. In some embodiments, the traffic monitoring system 1606 can generate information indicating the amount of data transmitted between nodes (e.g., the data size of the network traffic), the source of the network traffic, the destination of the network traffic, the time at which the data is transmitted through the network 1604, the frequency at which the data is transmitted, the proportion of available network resources used to transmit the data, and / or any other information related to the transmission of data through the network 1604.
[0271] In addition, the traffic monitoring system 1606 can rank the network traffic based on the utilization metric. For example, a higher utilization metric can indicate that a particular portion of the network traffic represents a larger proportion of the total network traffic, while a lower utilization metric can indicate that a particular portion of the network traffic represents a smaller proportion of the total network traffic. In some embodiments, the network traffic can be grouped according to its source and destination, and different groups of network traffic can be ranked relative to each other.
[0272] As an example, Figure 16A As shown, the traffic monitoring system 1606 can generate a table 1608 to rank different groups of network traffic relative to each other. In this example, the network traffic between node 1 (e.g., node 1602a) and node 5 (e.g., node 1602e) is assigned a utilization metric of 1 in the direction from node 1 to node 5, and a utilization metric of 0.23 in the direction from node 5 to node 1; the network traffic between node 1 (e.g., node 1602a) and node 3 (e.g., node 1602c) is assigned a utilization metric of 0.84 in the direction from node 1 to node 3, and a utilization metric of 0.11 in the direction from node 3 to node 1; the network traffic between node 5 (e.g., node 1602e) and node 8 (e.g., node 1602h) is assigned a utilization metric of 0.11 in the direction from node 5 to node 1. 8 is assigned a utilization metric of 0.44, and a utilization metric of 0.05 in the direction from node 8 to node 5; network traffic between node 5 (e.g., node 1602e) and node 4 (e.g., node 1602d) is assigned a utilization metric of 0.33 in the direction from node 5 to node 4, and a utilization metric of 0.23 in the direction from node 4 to node 5; network traffic between node 2 (e.g., node 1602b) and node 3 (e.g., node 1602c) is assigned a utilization metric of 0.05 in the direction from node 2 to node 3, and a utilization metric of 0.05 in the direction from node 3 to node 2. Utilization metrics indicating network traffic between each other node may also be generated.
[0273] When deploying an asymmetric network, inclusion of network links between certain nodes may be prioritized over network links between other nodes based on ranking. As described herein, some or all of these network links may be links between high-capacity transceivers and low-capacity transceivers.
[0274] For example, in this example, the network traffic from node 1 (e.g., node 1602a) to node 5 (e.g., node 1602e) has the highest ranking (e.g., highest utilization metric) among the network traffic groups. Therefore, during deployment of the asymmetric network, the inclusion of one or more network links between nodes 1602a and 1602e may be prioritized over network links between other node combinations. For example, Figure 16BAs shown, a direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602a to the low-capacity transceiver of node 1602e (corresponding to the primary direction of the measured traffic). In addition, another direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602e to the low-capacity transceiver of node 1602a (corresponding to the secondary direction of the measured traffic). The high-capacity transceiver and the low-capacity transceiver can be similar or identical to those described above.
[0275] Furthermore, the network traffic from node 1 (e.g., node 1602a) to node 3 (e.g., node 1602c) has the second highest ranking (e.g., the second highest utilization metric) in the network traffic group. Therefore, during deployment of an asymmetric network, including one or more network links between nodes 1602a and 1602c may have the second highest priority. For example, Figure 16C As shown, a direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602a to the low-capacity transceiver of node 1602c (corresponding to the primary direction of the measured traffic). In addition, another direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602c to the low-capacity transceiver of node 1602a (corresponding to the secondary direction of the measured traffic).
[0276] Furthermore, the network traffic from node 5 (e.g., node 1602e) to node 8 (e.g., node 1602h) has the third highest ranking (e.g., the third highest utilization metric) in the network traffic group. Thus, during deployment of an asymmetric network, including one or more network links between nodes 1602e and 1602h may have the third highest priority. For example, Figure 16D As shown, a direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602e to the low-capacity transceiver of node 1602h (corresponding to the primary direction of the measured traffic). In addition, another direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602h to the low-capacity transceiver of node 1602e (corresponding to the secondary direction of the measured traffic).
[0277] Furthermore, the network traffic from node 5 (e.g., node 1602e) to node 4 (e.g., node 1602d) has the fourth highest ranking (e.g., the fourth highest utilization metric) in the network traffic group. Thus, during deployment of an asymmetric network, the inclusion of one or more network links between nodes 1602e and 1602d may have the fourth highest priority. For example, Figure 16EAs shown, a direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602e to the low-capacity transceiver of node 1602d (corresponding to the primary direction of the measured traffic). In addition, another direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602d to the low-capacity transceiver of node 1602e (corresponding to the secondary direction of the measured traffic).
[0278] Furthermore, the network traffic from node 2 (e.g., node 1602b) to node 3 (e.g., node 1602c) has the fifth highest ranking (e.g., the fifth highest utilization metric) in the network traffic group. Thus, during deployment of an asymmetric network, including one or more network links between nodes 1602b and 1602c may have the fifth highest priority. For example, Figure 16F As shown, a direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602b to the low-capacity transceiver of node 1602c (corresponding to the primary direction of the measured traffic). In addition, another direct optical communication path 111 can be deployed from the high-capacity transceiver of node 1602c to the low-capacity transceiver of node 1602b (corresponding to the secondary direction of the measured traffic).
[0279] This process of deploying network links can continue until one or more stopping criteria are met. As an example, network links can be deployed until a certain maximum threshold number of links have been deployed. As an example, network links can be deployed until the measured traffic corresponding to the deployed network links accounts for a certain percentage or portion of the total network traffic. As another example, network links can be deployed until a certain amount of monetary resources have been allocated or used.
[0280] In at least some embodiments, some or all of the original network 1604 can be removed, decommissioned, or disabled in favor of the asymmetric mesh network. For example, after the asymmetric mesh network has been deployed, at least a portion of the original network 1604 can be removed, decommissioned, or disabled, and network traffic previously transported using that portion can be transported using the asymmetric mesh network instead.
[0281] exist Figure 16FIn the example process shown, a pair of network links are added for each row of table 1608 (e.g., one link in the primary direction of network traffic, and another link in the secondary direction of network traffic). However, this is not always the case. In some embodiments, a single network link may be added for each row of table 1608 (e.g., in the primary direction of network traffic). In some embodiments, a single network link may be added for each row of table 1608 by default. However, if the network traffic in the secondary direction meets one or more criteria (e.g., the network traffic in the secondary direction exceeds a particular bit rate or bandwidth), a second network link may be additionally added in the secondary direction. This can be beneficial, for example, by reducing the time and costs associated with deploying and / or maintaining a network (e.g., because fewer network links are deployed and the deployment is more closely targeted to areas of need in the network).
[0282] As described above, data may be transmitted between nodes as one or more optical subcarriers. For example, as described above (e.g., Figure 4 ), a node can transmit data on a transmission spectrum that accommodates multiple different optical subcarriers, each optical subcarrier having a corresponding frequency or frequency range. In some embodiments, the optical subcarrier can be modulated by modulating the laser (e.g., Figure 5 The optical subcarrier is generated by the output of the laser 508 in the optical subcarrier.
[0283] Furthermore, as described above, data can be transmitted between network nodes through one or more intermediate network devices, such as network switches. For example, a network switch can receive data from one node (e.g., a source node) and route the data to another node (e.g., a destination node). In some embodiments, a network switch can receive data from a source node in the form of one or more optical subcarriers (corresponding to one or more specific frequencies or frequency ranges, as described above) and route the data to a destination node in the form of one or more other optical subcarriers (corresponding to one or more different frequencies or frequency ranges, as described above). This is sometimes referred to as "frequency conversion" or "wavelength conversion."
[0284] To illustrate, Figure 17A An example system 1700 for performing frequency or wavelength conversion is shown. System 1700 includes a first optical component 1702, an Rx DSP 1704, a switch 1706, a Tx DSP 1708, and a second optical component 1710. In some embodiments, the first optical component 1702 can correspond to the Rx optical and A / D block 700 (e.g., as shown in FIG. Figure 7A ), Rx DSP 1704 may correspond to DSP 750 (e.g., as Figure 7A ), Tx DSP 1708 may correspond to DSP 502 (e.g., as Figure 5 ), and / or the second optical assembly 1710 may correspond to the D / A and optical block 501 (e.g., as Figure 5 ). Additionally, the operation of one or more of the first optical component 1702, the Rx DSP 1704, the Tx DSP 1708, and the second optical component 1710 may be similar or identical to their corresponding components, as described above.
[0285] During example operation of the system 1700, the first optical component 1702 receives data D1-D4 in the form of a first set of optical subcarriers SC1-SC4 (e.g., analog optical signals corresponding to one or more specific frequencies or frequency ranges f1 to f4 to correspond to the above-described optical subcarriers). Figure 4 1-4). The optical component 1702 converts the first group of optical subcarriers SC1-SC4 into corresponding digital signals 1712 (e.g., digitized versions of the first group of optical subcarriers SC1-SC4) and transmits the digital signals 1712 to the Rx DSP 1704. In some embodiments, the optical component 1702 can include one or more laser oscillators (e.g., local oscillator lasers), optical hybrids, and / or analog-to-digital converters to facilitate converting the first group of optical subcarriers SC1-SC4 into corresponding digital signals 1712.
[0286] Rx DSP 1704 generates separate digital signals 1714a-1714d based on digital signal 1712, each digital signal representing one of data D1-D4 (eg, decoded from optical subcarriers SC1-SC4). In some embodiments, Rx DSP 1704 may be implemented using one or more microprocessors, FPGAs, or other processor circuits.
[0287] Digital signals 1714a-1714d are input to different corresponding input pins of switch 1706. Switch 1706, in turn, outputs digital signals 1714a-1714d from its output pins, where each output pin corresponds to a different optical subcarrier to be output from system 1700. Furthermore, the order of digital signals 1714a-1714d at the input pins can be different from the order of digital signals 1714a-1714d at the output pins. Thus, at least some data can be input based on one optical subcarrier and output based on a different optical subcarrier. In some embodiments, switch 1706 can be implemented using one or more microprocessors, FPGAs, or other processor circuits.
[0288] The output digital signals 1714a-1714d are transmitted to the Tx DSP 1708. The Tx DSP 1708 generates a second set of optical subcarriers SC1-SC4 representing information (e.g., by transmitting a command signal 1716 specifying how to generate the second set of optical subcarriers SC1-SC4 to the second set of optical components 1710). The generated second set of optical subcarriers is then output to another device (e.g., another node in the network). In some embodiments, the Tx DSP 1708 can be implemented using one or more microprocessors, FPGAs, or other processor circuits to facilitate the generation of the command signals. In some embodiments, the second set of optical components 1710 can include one or more digital-to-analog converters, lasers, and / or Mach-Zehnder modulators to facilitate the generation of the second set of optical subcarriers SC1-SC4.
[0289] In some embodiments, the system 1700 can generate the second set of optical subcarriers SC1-SC4 based on a transmitter oscillator signal provided by a laser. In some embodiments, the same laser can also be used to provide a local oscillator signal to the first optical component 1702 (e.g., to digitize a received analog signal). In some embodiments, the transmitter oscillator signal and the local oscillator signal can have the same frequency. In some embodiments, a single laser can provide a single laser signal to the optical splitter. The optical splitter can split the laser signal and provide the split laser signal to both the first optical component 1702 (as a local oscillator signal) and the Tx DSP 1708 (as a transmitter oscillator signal).
[0290] In this example, data D1-D4 are input to system 1700 in the form of optical subcarriers SC1-SC4, respectively (corresponding to frequencies f1-f4, respectively). However, data D1-D4 are output from system 1700 in the form of optical subcarriers SC3, SC4, SC1, and SC2, respectively (corresponding to frequencies f3, f4, f1, and f2, respectively). Therefore, after being processed by system 1700, at least some of the data has undergone "frequency conversion" or "wavelength conversion."
[0291] In some embodiments, switch 1706 can be dynamically reconfigured during operation so that data is selectively output according to different optical subcarriers. For example, switch 1706 can receive data at each of its input pins and route the data from each input pin to a different corresponding output pin (e.g., according to a mapping between the input pins and the output pins), such that the data undergoes a specific "frequency conversion" or "wavelength conversion." During operation, switch 1706 can modify the routing so that data from at least some of the input pins is routed to different corresponding output pins (e.g., according to a modified mapping between the input pins and the output pins). As a result, the data undergoes a different "frequency conversion" or "wavelength conversion." In some embodiments, the behavior of switch 1706 can be controlled using a control signal (e.g., a control signal that specifies the mapping between the input pins and the output pins). The control signal can be provided by a control module that includes or is otherwise associated with system 1700.
[0292] Frequency conversion or wavelength conversion can provide various technical benefits. For example, frequency conversion or wavelength conversion enables nodes on a network to transmit and / or receive data based on multiple different optical subcarriers (and corresponding frequencies) as it traverses the network path from a source node to a destination node. Consequently, different optical subcarriers can be dynamically allocated at different branches of the network path based on their availability. Furthermore, the same optical subcarrier (and corresponding frequency) can be used to transmit data between nodes in different parts of the network without the risk of collision. Thus, a limited number of optical subcarriers can be deployed to multiple different parts of the network without interfering with the transmission of data.
[0293] As an example, return to the reference Figure 11 and Figure 12A As shown, a first server computer can transmit data to a second server computer via a ToR switch that interconnects them. Specifically, the first server computer generates a first optical subcarrier representing the data (having a corresponding first frequency, as described above) and transmits the first optical subcarrier to the ToR switch. The ToR switch can extract the data from the first optical subcarrier and generate a second optical subcarrier representing the data (and a corresponding second frequency), where the second optical subcarrier is different from the first optical subcarrier (e.g., using Figure 17A ) and transmits the second optical subcarrier to the server computer. Thus, although the same underlying data is first transmitted from the first server computer to the ToR switch and then from the ToR switch to the second server computer, a different optical subcarrier is used for each segment of the network path.
[0294] As an example, refer to Figure 11 、 12AIn the embodiments of the present invention, a first server computer coupled to a first ToR switch can transmit data to a second server computer coupled to a second ToR switch via a core switch interconnecting the two ToR switches. Specifically, the first server computer can generate a first optical subcarrier (and a corresponding first frequency, as described above) representing the data and transmit the first optical subcarrier to the first ToR switch to which it is connected. The first ToR switch can extract the data from the first optical subcarrier and generate a second optical subcarrier (and a corresponding second frequency) representing the data, wherein the second optical subcarrier is different from the first optical subcarrier (e.g., using Figure 17A The system 1700 shown in FIG. 17A and transmits the second optical subcarrier to a core switch interconnecting the first ToR switch and the second ToR switch. The core switch can then extract the data from the second optical subcarrier and generate a third optical subcarrier (and a corresponding third frequency) representing the data, wherein the third optical subcarrier is different from the second optical subcarrier (e.g., using a system Figure 17A 1700) and transmits the third optical subcarrier to the second ToR switch. The second ToR switch can then extract the data from the third optical subcarrier and generate a fourth optical subcarrier (and a corresponding fourth frequency) representing the data, where the fourth optical subcarrier is different from the third optical subcarrier (e.g., using a system Figure 17A 1700) and transmits the fourth optical subcarrier to the second server computer. Thus, although the same underlying data is first transmitted from the first server computer to the first ToR switch, then from the first ToR switch to the core switch, then from the core switch to the second ToR switch, then from the second ToR switch to the second server computer, and then from the ToR switch to the second server computer, each segment of the network path uses a different optical subcarrier.
[0295] In some embodiments, a different optical subcarrier may be used for each segment of the network path.In some embodiments, a different optical subcarrier may be used for some segments of the network path, and a similar optical subcarrier may be used for some other segments of the network path.
[0296] exist Figure 17A In the illustrated example, data (e.g., data D1-D4) is commonly input into system 1700 in the form of a first group of optical subcarriers (e.g., optical subcarriers SC1-SC4) and is commonly output based on the same group of optical subcarriers. However, this need not always be the case. For example, in some embodiments, data may be commonly input into system 1700 in the form of a first group of optical subcarriers and may be commonly output based on a second group of optical subcarriers that is at least partially different from the first group of optical subcarriers. For example, the second group of optical subcarriers may include one or more frequencies not included in the first group of optical subcarriers.
[0297] To illustrate, Figure 17B Another example system 1750 for performing frequency or wavelength conversion is shown. The components of system 1750 may be similar to Figure 17A . However, in this example, system 1750 includes two Tx DSPs 1708a and 1708b, and two second optical components 1710a and 1710b. System 1750 can use the first Tx DSP 1708a and the second optical component 1710a to output data using the same set of optical subcarriers as those used for input data (e.g., by outputting digital signals 1714a-1714d to the first Tx DSP 1708a in a manner similar to that described above to generate optical subcarriers SC1-SC4). In addition, system 1750 can use the second Tx DSP 1708b and the second optical component 1710b to output data using a different set of optical subcarriers than those used for input data (e.g., by outputting digital signals 1714e-1714h to the second Tx DSP 1708b to generate optical subcarriers SC5-SC8). In some embodiments, the switch 1706 can also be dynamically reconfigured during operation to selectively output data based on different optical subcarriers. For example, the switch 1706 can receive data at each of its input pins and route the data from each input pin to a different corresponding output pin (e.g., based on a mapping between input pins and output pins), such that the data undergoes a specific "frequency conversion" or "wavelength conversion."
[0298] As described above, nodes can transmit data to each other using transceivers, where the transceiver of one node (e.g., a "master node") has a higher capacity than the transceiver of another node (e.g., a "secondary node"). Figure 9A and 9B As shown, the data master node 110 may include a transceiver 900 having a first capacity, and each of the auxiliary nodes 112a-112d may include a corresponding transceiver 902a-902d having a second capacity. However, this need not always be the case. For example, in some embodiments, the nodes may transmit data to each other using transceivers having the same capacity. As an example, referring to Figure 9A and Figure 9B , the data master node 110 may include a transceiver 900 having a certain capacity, and each of the auxiliary nodes 112a-112d may include a corresponding transceiver 902a-902d having the same capacity as the transceiver 900. As another example, Figures 10A-17B Some or all of the transceivers described in may have the same capacity as one another.
[0299] This configuration can provide certain technical benefits. For example, a first node can use a single transceiver to multicast data to multiple second nodes simultaneously (e.g., at a specific bit rate), rather than using a separate transceiver dedicated to each individual second node. Thus, the network can be deployed in a more cost-effective manner. Furthermore, because each transceiver has the same capacity, each second node can transmit data back to the first node at the same bit rate but with a dedicated allocation of bandwidth.
[0300] In some embodiments, a network may include a plurality of interconnected nodes. At least some of the nodes may be interconnected via links extending between transceivers having the same capacity, and at least some of the nodes may be interconnected via links extending between transceivers having different capacities. The capacity of each transceiver (and whether there is asymmetry in capacity between interconnected transceivers) may be selected based on expected traffic flow between the nodes and / or based on observed traffic flow between the nodes.
[0301] Example Process
[0302] Figure 18A An example process 1800 for transmitting data is shown in FIG. In some implementations, process 1800 can be performed by one or more of the components of the systems described herein.
[0303] According to process 1800, first data is transmitted from a first network switch to each of a plurality of first server computers (step 1802). The first network switch includes a first transceiver. The first transceiver is configured to transmit data according to a first maximum throughput. The plurality of first server computers are communicatively coupled to the first network switch. Each first server computer includes a corresponding second transceiver. Each second transceiver is configured to transmit data according to a second maximum throughput. The first maximum throughput is greater than the second maximum throughput. Further, the first data includes a plurality of first optical subcarriers. Each first optical subcarrier is associated with a different first server computer.
[0304] Each of the first server computers receives the first data from the first network switch using a corresponding one of the second transceivers (step 1804).
[0305] Each of the first server computers extracts a corresponding portion of the first data addressed to the first server computer from the first data 1806. In some implementations, the portion of the first data addressed to the first server computer can be extracted by extracting a portion of the first data from a first optical subcarrier associated with the server computer.
[0306] In some embodiments, the second network may include a third transceiver, wherein the third transceiver is configured to transmit data according to a third maximum throughput. Furthermore, each first network switch in the plurality of network switches may include a corresponding fourth transceiver, wherein each fourth transceiver is configured to transmit data according to a fourth maximum throughput, and wherein the third maximum throughput is greater than the fourth maximum throughput. The process may also include transmitting, by the second network switch, the second data to each of the first network switches using the fourth transceiver according to the fourth maximum throughput. The second data may include a plurality of second optical subcarriers, wherein each second optical subcarrier is associated with a different one of the first network switches. The process may also include receiving, by each of the first network switches, the second data from the second network switch using a corresponding one of the fourth transceivers, and extracting, by each of the first network switches, from the second data a corresponding portion of the second data addressed to the first network switch. In some embodiments, extracting the corresponding portion of the second data corresponding to the first network switch may include extracting a portion of the second data from a second optical subcarrier associated with the first network switch.
[0307] In some embodiments, the second network switch may further include one or more fifth transceivers. The method may further include transmitting, receiving, or transmitting and receiving third data from the wide area network using the one or more fifth transceivers through the second network switch.
[0308] In some embodiments, at least one of the first network switches may be a top-of-rack network switch.
[0309] In some implementations, the second network switch may be a core network switch.
[0310] In some embodiments, the process may further include transmitting, by at least one of the first server computers, second data to the first network switch using a second transceiver according to the second maximum throughput. The second data may include a second optical subcarrier, wherein the second optical subcarrier is associated with the first network switch.
[0311] In some implementations, the first data can be transmitted to each of the second receivers of the first server computer using a first transceiver of the first network switch.
[0312] In some implementations, the second data can be transmitted to the first transceiver of the first network switch using the second transceiver of at least one of the first server computers.
[0313] Figure 18B Another example process 1820 for transmitting data is shown in FIG. In some implementations, process 1820 can be performed by one or more of the components of the systems described herein.
[0314] According to process 1820, a plurality of network nodes are interconnected (step 1822). Each network node includes one or more corresponding first transceivers and one or more corresponding second transceivers. Each first transceiver is configured to transmit data according to a first maximum throughput. Each second transceiver is configured to transmit data according to a second maximum throughput. The first maximum throughput is greater than the second maximum throughput.
[0315] A first network node in the plurality of network nodes transmits first data to two or more second network nodes in the plurality of network nodes using a corresponding one of the first transceivers according to a first maximum throughput (step 1824). The first data includes a plurality of optical subcarriers. Each optical subcarrier is associated with a different one of the other two network nodes.
[0316] The two or more second network nodes receive the first data from the first network node using respective second transceivers (step 1826).
[0317] In some implementations, each network node in the plurality of network nodes may be communicatively coupled to each other network node in the plurality of network nodes.
[0318] In some implementations, for each network node in the plurality of network nodes, at least one of the first transceivers of the network node may be communicatively coupled to at least one of the second transceivers of each other network node in the plurality of network nodes.
[0319] In some implementations, at least one network node in the plurality of network nodes may be communicatively coupled to only a subset of the other network nodes in the plurality of network nodes.
[0320] In some implementations, for each network node in the plurality of network nodes, at least one of the first transceivers of the network node may be communicatively coupled to only at least one of the second transceivers of a subset of the other network nodes in the plurality of network nodes.
[0321] In some embodiments, the process may further include extracting, by each of the two second network nodes, from the first data, a portion of the first data addressed to the second network node. Extracting, by each of the two second network nodes, the portion of the first data corresponding to the network node may include extracting the portion of the first data from an optical subcarrier associated with the second network node.
[0322] In some embodiments, at least some of the first transceivers of the first network node may be communicatively coupled to at least two of the second transceivers of the second network node.
[0323] In some embodiments, the first data may be transmitted using a first transceiver of a first network node to each of a second receiver of two or more second network nodes.
[0324] In some embodiments, the process may further include transmitting, using the second transceiver, second data to the first network node according to the second maximum throughput. The second data may include a second optical subcarrier. The second optical subcarrier may be associated with the first network node.
[0325] Figure 18C An example process 1840 for designing and deploying a network with an asymmetric mesh configuration is shown in FIG. In some implementations, process 1840 can be performed by one or more of the components of the systems described herein.
[0326] According to process 1840, network traffic transmitted between a plurality of network nodes via a communication network is monitored (step 1842).
[0327] The subset of network traffic is sorted according to one or more sorting criteria (step 1844). In some embodiments, the one or more sorting criteria may include criteria regarding data size of the network traffic transmitted between respective ones of the plurality of network nodes, criteria regarding frequency of transmission of the network traffic between respective ones of the plurality of network nodes, criteria regarding directionality of transmission of the network traffic between respective ones of the plurality of network nodes, and / or criteria regarding a percentage of utilization of the communication network when transmitting the network traffic.
[0328] Based on the ranking of the subset of network traffic, a mesh network is deployed between the plurality of network nodes (step 1844). The mesh network includes a plurality of network links. Each network link communicatively couples a corresponding network node in the plurality of network nodes to another corresponding network node in the plurality of network nodes.
[0329] Deploying a mesh network between the plurality of network nodes may include determining a corresponding ranking for each subset of network traffic. Each subset of network traffic may be transmitted from a corresponding source network node in the plurality of network nodes to a corresponding destination network node in the plurality of network nodes. Deploying the mesh network between the plurality of network nodes may also include determining that a first subset of network traffic has a highest ranking among the subsets of network traffic, and deploying a network link corresponding to the first subset of network traffic between the source network node and the destination network node.
[0330] In some implementations, deploying a mesh network between the plurality of network nodes may include determining a second subset of network traffic has a second highest ranking among the subset of network traffic, and deploying network links corresponding to the second subset of network traffic between the source network node and the destination node.
[0331] In some implementations, the process may also include transmitting the one or more optical subcarriers using multiple network links.
[0332] In some embodiments, at least one of the network links can communicatively couple (i) a first transceiver of a first network node among the plurality of network nodes and (ii) a second transceiver of a second network node among the plurality of network nodes. The first transceiver can be configured to transmit data using the at least one network link according to a first maximum throughput. The second transceiver can be configured to transmit data according to a second maximum throughput. The first maximum throughput can be greater than the second maximum throughput.
[0333] In some implementations, a mesh network may communicatively couple at least one network node of the plurality of network nodes to only a subset of the other network nodes of the plurality of network nodes.
[0334] In some implementations, the process may further include removing at least a portion of the communication network after deploying the mesh network.
[0335] In some embodiments, deploying the mesh network may include deploying network links between the plurality of network nodes until one or more stopping criteria are met. The one or more stopping criteria are a criterion that the number of deployed network links equals a maximum number of network links, a criterion that a subset of network traffic associated with the deployed network links accounts for a threshold percentage of the network traffic, and / or a criterion that an amount of monetary resources allocated or used to deploy the network links reaches or exceeds a threshold amount.
[0336] Figure 18D An example process 1860 for transmitting data is shown in FIG. In some implementations, process 1860 can be performed by one or more of the components of the systems described herein.
[0337] According to process 1860, a first network node generates a first optical subcarrier representing first data (step 1862).
[0338] The first network node transmits the first optical subcarrier to the second network node (step 1864).
[0339] The second network node receives the first optical subcarrier from the first network node (step 1866).
[0340] The second network node generates a second optical subcarrier representing the first data (step 1868). The second optical subcarrier is different from the first optical subcarrier.
[0341] The second network node transmits the second optical subcarrier to the third network node (step 1870).
[0342] In some embodiments, the process may include receiving, by the third network node, a second optical subcarrier from the second network node, and determining, by the third network node, the first data based on the second optical subcarrier.
[0343] In some embodiments, the process may further include generating, by the second network node, a third optical subcarrier representing the first data. The third wavelength may be different from the second optical subcarrier. The process may further include transmitting, by the second network node, the third optical subcarrier to a fourth network node, receiving, by the fourth network node, the third optical subcarrier from the second network node, and determining, by the fourth network node, the first data based on the third optical subcarrier.
[0344] In some embodiments, the process may further include receiving, by the third network node, a second optical subcarrier from the second network node, and generating, by the third network node, a third optical subcarrier representing the first data. The third optical subcarrier may be different from the second optical subcarrier. The process may further include transmitting, by the third network node, the third optical subcarrier to a fourth network node, receiving, by the fourth network node, the third optical subcarrier from the third network node, and determining, by the fourth network node, the first data based on the third signal.
[0345] In some embodiments, the third network node may be associated with a second optical subcarrier. The fourth network node may be associated with a third optical subcarrier. The third optical subcarrier may be different from the second optical subcarrier. The process may further include the second network node simultaneously transmitting the second optical subcarrier to the third network node and the fourth network node.
[0346] In some embodiments, the process may further include generating, by the second network node, a third optical subcarrier representing the second data, and transmitting, by the second network node, the third optical subcarrier to the third network node and the fourth network node simultaneously.
[0347] In some embodiments, the process may further include simultaneously transmitting, by the second network node, the second optical subcarrier and the third optical subcarrier to each of the third network node and the fourth network node.
[0348] In some embodiments, the second optical subcarrier may be transmitted to the third and fourth network nodes at a first time, and the third optical subcarrier may be transmitted to the third and fourth network nodes at a second time different from the first time.
[0349] In some embodiments, the process may further include generating, by a first laser of the first network node, a first optical subcarrier by modulating an output of the first laser according to a first carrier frequency.
[0350] In some embodiments, the process may further include generating, by a second laser of the second network node, a second optical subcarrier by modulating an output of the second laser according to a second carrier frequency.
[0351] In some implementations, the first optical subcarrier and the second optical subcarrier may be Nyquist subcarriers.
[0352] In some embodiments, the process may further include interpreting, by the second network node, the first optical subcarrier based on a local oscillator signal having a first frequency. The second optical subcarrier may be generated based on a transmitter oscillator signal having a second frequency, wherein the first frequency is equal to the second frequency. In some embodiments, the local oscillator signal and the transmitter oscillator signal may be provided by a common laser.
[0353] Example System
[0354] Some embodiments of the subject matter and operations described in this specification may be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or a combination of one or more thereof. For example, in some embodiments, some or all of the components described herein may be implemented using digital electronic circuitry, or in computer software, firmware, or hardware, or a combination of one or more thereof. In another example, process ### may be implemented using digital electronic circuitry, or in computer software, firmware, or hardware, or a combination of one or more thereof.
[0355] Some embodiments described in this specification can be implemented as one or more groups or modules of digital electronic circuitry, computer software, firmware, or hardware, or a combination of one or more of them. Although different modules can be used, each module need not be different, and multiple modules can be implemented on the same digital electronic circuitry, computer software, firmware, or hardware, or a combination thereof.
[0356] Some embodiments described in this specification may be implemented as one or more computer programs, i.e., one or more computer program instruction modules, encoded on a computer storage medium for execution by a data processing apparatus or for controlling the operation of a data processing apparatus. A computer storage medium may be or may be contained in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. In addition, although a computer storage medium is not a propagation signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagation signal. A computer storage medium may also be or be contained in one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
[0357] The term "data processing apparatus" encompasses all types of apparatus, equipment, and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or a plurality or combination thereof. The apparatus may include dedicated logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of these. The apparatus and execution environment may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
[0358] A computer program (also referred to as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages. A computer program may, but need not, correspond to a file in a file system. A program may be stored as part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or portions of code). A computer program may be deployed for execution on a single computer or on multiple computers located at a single site or distributed across multiple sites and interconnected via a communications network.
[0359] Some of the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
[0360] Processors suitable for executing computer programs include, for example, general-purpose and special-purpose microprocessors, as well as processors for any type of digital computer. Typically, a processor will receive instructions and data from a read-only memory or a random access memory, or both. A computer includes a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. A computer may also include, or be operatively coupled to, receive data from or transfer data to, or both, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical, or optical disks). However, a computer need not have such devices. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices, etc.), magnetic disks (e.g., internal hard disks, removable disks, etc.), magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into special-purpose logic circuitry.
[0361] A computer system may include a single computing device, or multiple computers that operate in close proximity or generally remote from each other and typically interact via a communication network. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), internetworks (e.g., the Internet), networks including satellite links, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks). The relationship of client and server may arise through computer programs running on the respective computers and having a client-server relationship to each other.
[0362] Figure 19 An example computer system 1900 is shown that includes a processor 1910, a memory 1920, a storage device 1930, and an input / output device 1940. Each of the components 1910, 1920, 1930, and 1940 can be interconnected, for example, via a system bus 1950. The processor 1910 is capable of processing instructions for execution within the system 1900. In some embodiments, the processor 1910 is a single-threaded processor, a multi-threaded processor, or another type of processor. The processor 1910 is capable of processing instructions stored on the memory 1920 or the storage device 1930. The memory 1920 and the storage device 1930 can store information within the system 1900.
[0363] Input / output devices 1940 provide input / output operations for system 1900. In some embodiments, input / output devices 1940 may include one or more of a network interface device, such as an Ethernet card, a serial communication device, such as an RS-232 port, and / or a wireless interface device, such as an 802.11 card, a 3G wireless modem, a 4G wireless modem, a 5G wireless modem, etc., for communicating with a network 1970 (e.g., through one or more network devices, such as a core switch, a ToR switch, and / or other network devices). In some embodiments, input / output devices may include a driver device configured to receive input data and send output data to other input / output devices (e.g., a keyboard, a printer, and a display device 1960). In some embodiments, mobile computing devices, mobile communication devices, and other devices may be used.
[0364] Although this specification contains many details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features of specific examples. Certain features described in this specification in the context of separate embodiments may also be combined. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, alone or in any suitable subcombination.
[0365] A number of embodiments have been described. However, it will be appreciated that various modifications can be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.
Claims
1. A system for transmitting data, comprising: a first network node; a second network node communicatively coupled to the first network node; a third network node, the third network node being communicatively coupled to the second network node, The first network node is configured as follows: generating a first optical subcarrier representing first data, and transmitting the first optical subcarrier to the second network node, and The second network node is configured as follows: receiving the first optical subcarrier from the first network node, generating a second optical subcarrier representing the first data, wherein the second optical subcarrier is different from the first optical subcarrier, transmitting the second optical subcarrier to the third network node, and generating a third optical subcarrier, wherein the third optical subcarrier is different from the second optical subcarrier; and a fourth network node, the fourth network node being communicatively coupled to the second network node, wherein the third network node is associated with the second optical subcarrier, wherein the fourth network node is associated with the third optical subcarrier, and The second network node is configured to transmit the second optical subcarrier to the third network node and the fourth network node simultaneously.
2. The system according to claim 1, wherein: The third network node is configured to: receiving the second optical subcarrier from the second network node, The first data is determined based on the second optical subcarrier.
3. The system according to claim 1, wherein: The second network node is further configured to generate the third optical subcarrier representing the first data, and wherein the fourth network node is configured to: receiving the third optical subcarrier from the second network node, The first data is determined based on the third optical subcarrier.
4. The system according to claim 1, wherein: The fourth network node is configured to: receiving the third optical subcarrier from the third network node, The first data is determined based on the third optical subcarrier.
5. The system according to claim 1, wherein The second network node is configured to: generating the third optical subcarrier representing the second data, and The third optical subcarrier is transmitted simultaneously to the third network node and the fourth network node.
6. The system according to claim 1, wherein: The second network node is configured to transmit the second optical subcarrier and the third optical subcarrier simultaneously to each of the third network node and the fourth network node.
7. The system according to claim 1, wherein: The second network node is configured to transmit the second optical subcarrier to the third network node and the fourth network node at a first time, and to transmit the third optical subcarrier to the third network node and the fourth network node at a second time different from the first time.
8. The system according to claim 1, wherein: The first network node comprises a first laser configured to generate the first optical subcarrier by modulating an output of the first laser according to a first carrier frequency.
9. The system according to claim 1, wherein: The first optical subcarrier and the second optical subcarrier are Nyquist subcarriers.
10. The system according to claim 1, wherein: The second network node is configured to interpret the first optical subcarrier from a local oscillator signal having a first frequency and to generate the second optical subcarrier from a transmitter oscillator signal having a second frequency, wherein the first frequency is equal to the second frequency.
11. The system according to claim 10, wherein: The local oscillator signal and the transmitter oscillator signal are provided by a common laser.
Citation Information
Patent Citations
All-optical spatial information network allowing dynamic linking and information transmitting devices thereof
CN103944642A
Use of subcarrier deactivation in a multi-subcarrier channel to improve reach in an optical network
US20110236013A1