Patent ID: 12199692

DETAILED DESCRIPTION

As mentioned above, there is currently a large installed base 1G and slower Ethernet networks using Cat5 and Cat5e cables. However, both the need for higher data speeds and the availability of 10 gigabit per second (10G) Ethernet ports have increased significantly in recent years. Thus, the desire to upgrade existing 1 gigabit per second (1G) and slower Ethernet networks is growing. One obstacle to upgrading existing 1G and slower Ethernet networks, however, is the cost of upgrading the cabling required for 10G Ethernet. Cat6 and Cat6a cables are more expensive than Cat5 and Cat5e cables. More importantly, the cost of labor to replace Cat5 and Cat5e cables with Cat6 or Cat6a cables is significant, and the process of cable replacement likely will be very disruptive to users of an Ethernet network, workers of an office building, residents of an apartment building, etc., for example.

In current Ethernet networks, network link settings, such as baud rate, effective data rate, transmit power level, etc., of various network links between network devices are determined for each individual network link, typically by auto-negotiation performed by network devices when establishing the network link. Such link settings, however, may not be optimal for performance of the network, particularly in networks that deploy cables that are not rated for high baud rates (e.g., 10G or 100G Ethernet baud rates) used for transmission of signals on at least some of the network links. In embodiments described below, global optimization of link settings in a particular network is performed based on knowledge about the particular network, such as link metrics indicative of crosstalk experienced by network links in the particular network, predicted usage of network links in the particular network, requirements for network links in the particular network, etc. Such global optimization of the network link settings mitigates effects of crosstalk between cables that are not rated for high baud rates used for transmission over the cables, while maintaining suitable performance and meeting requirements for the network links in the network, in at least some embodiments. Thus, such global optimization of the network link settings allows use of the higher baud rates on at least some network links with existing, already installed cables (e.g., Cat5 and Cat5e cables, or even Cat3 cables), i.e., without having to install new cabling, while still providing adequate performance of the entire network, in at least some embodiments.

FIG.1is a simplified diagram of an example communication network100, according to an embodiment. The communication network100includes a network device104, such as a router, a switch, a hub, etc., communicatively coupled to a plurality of endpoint devices108(e.g., computers, televisions, gaming systems, medical equipment, etc.) via respective cables112. As an illustrative example, the communication network100is located in an office building, and the endpoint devices108correspond to computers in different workstations (e.g., offices, cubicles, etc.), printers, etc. throughout the office building. As another illustrative example, the communication network100is located in a multi-family residential building, and the endpoint devices108correspond to computers, televisions, gaming systems, etc., throughout the residential building. As another illustrative example, the communication network100is located in a healthcare facility, and the endpoint devices108correspond to medical equipment, computers, televisions, etc. throughout the healthcare facility.

The network device104includes one or more physical layer (PHY) processors106(sometimes referred to herein as “the PHY processor106” for brevity). The PHY processor106includes a plurality of transceivers120, each communicatively coupled to a respective cable112. Similarly, each endpoint108includes one or more PHY processors122(sometimes referred to herein as “the PHY processor122for brevity), and each of the PHY processors122includes a respective transceiver124communicatively coupled to a cable112, in an embodiment. Although the PHY processor106is illustrated as including three transceivers120, the PHY processor106includes other numbers (e.g., 1, 2, 4, 5, etc.) of transceivers120, in other embodiments. Similarly, although the communication network100is illustrated as including three endpoint devices108, the communication network100includes other numbers (e.g., 1, 2, 4, 5, etc.) of endpoint devices108, in other embodiments. Further, although each endpoint108is illustrated as including a single transceiver124communicatively coupled to a single cable112, in some embodiments, an endpoint device108includes multiple transceivers124communicatively coupled to multiple respective cables112.

One or more of the cables112are Class C cables (sometimes referred to as a Category 3 (Cat3) cable) or Class D cables (sometimes referred to as a Category 5e (Cat5e) cable) as specified by the ISO/IEC 11801 standard, according to an embodiment. A Class C (Cat3) cable comprises a plurality of twisted copper wire pairs and is typically rated for certain performance and test requirements up to 16 MHz. A Class D (Cat5e) cable comprises a plurality of twisted copper wire pairs and is typically rated for certain performance and test requirements up to 100 MHz. One or more of the cables112are Category 5 (Cat5) cables specified by an older version of the ISO/IEC 11801 standard and, like Cat5e cables, are rated for certain performance and test requirements up to 100 MHz (according to the older version of the ISO/IEC 11801 standard). Category 3 cables, Category 5 cables, and Category 5E cables are sometimes referred to herein as “legacy cables.”

In comparison, Class E cables (sometimes referred to as Category 6 (Cat6) cables) as specified by the ISO/IEC 11801 standard and Class EA cables (sometimes referred to as Category 6A (Cat6A) cables) as specified by the ISO/IEC 11801 standard are rated for certain performance and test requirements up to 250 MHz and 500 MHz, respectively. Class F cables (sometimes referred to as Category 7 (Cat7) cables) as specified by the ISO/IEC 11801 standard are rated for certain performance and test requirements up to 600 MHz. On the other hand, a legacy cable may not be rated for any performance or test requirements above 100 MHz according to the ISO/IEC 11801 standard, according to some embodiments.

In some embodiments, one or more other cables112are legacy cables that are not rated for any performance or test requirements above 100 MHz. In some embodiments, one or more other cables112are rated for performance or test requirements above 100 MHz. For example, one or more other cables112are Cat6, Cat6a, or Cat7 cables, according to an embodiment.

As illustrated inFIG.1, at least cables112-1,112-2, and112-3are bundled together for cable management. The bundling of cables112-1,112-2, and112-3generally increases crosstalk between the cables112-1,112-2, and112-3. For example, transmissions within cable112-1and transmissions within cable112-3both cause crosstalk into cable112-2. Similarly, transmissions within cable112-2cause crosstalk into cable112-1and cable112-3. Such crosstalk is sometimes referred to as “alien crosstalk” because the crosstalk experienced by one cable112is caused by transmissions in another cable112, as opposed to crosstalk between different twisted wire pairs within a single cable112.

In other embodiments, at least some cables112(e.g., at least cables112-1,112-2, and112-3) are not bundled, but are otherwise deployed in an arrangement that results in alien crosstalk between cables112. For example, cables112that run together in close proximity (while not being bundled with a strap or tie) for a span may experience alien crosstalk. In other embodiments, at least some alien crosstalk occurs because of close proximity between ports of the network device to which respective cables112are connected, as opposed to bundling of cables112or close proximity of cables112.

The network device104and the endpoint devices108are configured to establish network links114over the cables112, and to configure the network links114for communication between the network device104and the endpoint devices108over the cables112. In an embodiment, the network device104and the endpoint devices108are configured to negotiate or otherwise determine link settings for configuring the network links114, such as baud rates, effective data rates, transmit power levels, etc. to be used for communication over the network links114. The PHY processor106of the network device104is configured to configure the respective transceivers120to operate using the respective link settings negotiated or otherwise determined for communication over the network links114. Similarly, the PHY processors122of the endpoint device108are configured to configure the respective transceivers124to operate using the respective link settings negotiated or otherwise determined for communication over the network links114.

In at least some situations, in various embodiments, transmission of signals via ones of the network links114over cables112is adversely affected by concurrent transmission of signals via other ones of the network links114over cables112, for example due to crosstalk between the network links114over the cables112. Moreover, in at least some situations, different link settings used for transmission of signals via ones of the network links114over cables112have different effects on concurrent transmission of signals via other ones of the network links114over cables112. For example, signals transmitted at relatively higher baud rates and/or relatively higher effective data rates on a network link114generally cause more crosstalk in neighboring network links114as compared to signals transmitted at relatively lower baud rates and/or relatively lower effective data rates, in an embodiment. As another example, signals transmitted at relatively higher transmit power levels on a network link114generally cause more crosstalk in neighboring network links114as compared to signals transmitted at relatively lower transmit power levels, in an embodiment.

In an embodiment, crosstalk caused by transmission of signals on network links114over the cables112also depends on the qualities and ratings of the cables112. As discussed above, at least some of the cables112are legacy cables that are not rated for transmission of signals at higher baud rates, such as baud rates corresponding to 10G or higher speed Ethernet, in an embodiment. Transmission of signals in such cables112at baud rates corresponding to 10G or higher speed Ethernet causes significant crosstalk experienced on neighboring network links114, in at least some situations, in various embodiments.

In an embodiment, the communication network100includes a network controller140communicatively coupled to the network device104and, optionally, to one or more endpoint devices108. The network controller140includes a network optimizer142configured to acquire knowledge about the communication network100, such as patterns of usage of the network links114in communication network100, crosstalk experienced by the network links114in the communication network100etc., and to determine link settings for the network links114based on the knowledge about the communication network100.

In an embodiment, the network optimizer142is configured to acquire knowledge about the communication network100by analyzing link metrics144received from the network device104and/or the endpoint devices108of the communication network100. The link metrics144include metrics that capture quality of network links114and activities on the network links114at various times throughout operation of the communication network100, in an embodiment. In an embodiment, the link metrics144include, for each of at least some of the network links114, one or more of i) bit error rate for data transmitted in the downlink (e.g., from the network device104to the endpoint devices108) and/or uplink direction (e.g., from the endpoint devices108to the network device104) via the network link114, ii) frame error rate for data transmitted in the downlink and/or uplink direction via the network link114, iii) number of correctable errors in data transmitted in the downlink and/or uplink direction via the network link114, iv) signal to noise ratio (SNR) in signals transmitted in the downlink and/or uplink direction via the network link114. In some embodiments, the link metrics142additionally include metrics indicative of activity on the network links114, such as levels of activity on the network links114, types of activities performed on the network links114, such as types of data transmitted over the network links114, target applications for the data transmitted over the network links114, etc.

The network controller140is configured to obtain the link metrics144during setup of the communication network100and/or during maintenance of the communication network100, for example. In some embodiments, the network optimizer142is configured to obtain link metrics144at different times of the day during operation of the communication network100to capture link quality data and patterns of usage of the communication network100throughout the day.

In an embodiment, the network optimizer142is configured to analyze the link metrics144to determine relationships between transmission of signals on ones of the network links114and qualities of other ones of the network links114. For example, the network optimizer142determines that transmission of signals on the network link114-1results in relatively large levels of crosstalk experienced on the network link114-2. On the other hand, the network optimizer142determines that transmission of signals on the network link114-1results does not cause significant levels of crosstalk on the network link114-3, for example. In some embodiments, the network optimizer142is further configured to learn, based on analyzing the link metrics144, usage patterns of the network links114. For example, the network optimizer142learns times of day during which respective network links114are typically active, typical levels of activity on the respective network links114, types of activities performed via the network links114, such as types of data transmitted at various times of day over the network links114, etc., in various embodiments.

In some embodiments, the network optimizer142is further configured to receive network information148providing additional information about the communication network100. In an embodiment, the network information148is provided at least partially by a network operator, for example, via a user interface provided to the network operator. In an embodiment, the network information148includes information descriptive of respective network links114, such as topology of the respective network links114, types of endpoint devices108(e.g., computer, printer, etc.) coupled to the respective network links114, specific users (e.g., chief executive officer (CEO), employee, administrative assistant, etc.) of the endpoint devices108coupled to the respective network links114, whether the respective network links114are primarily one directional network links (e.g., a network link114between the network device104and a printer, where data is primarily transmitted in the downlink direction from the network device104to the printer) or bi-directional links (etc. e.g., a network link114between the network device104and a workstation, where data is transmitted in both the downlink direction and the uplink direction between the network device104and the workstation), etc. In some embodiments, the network information148additionally or alternatively includes provisioning requirements for at least some of the network links114. For example, the network information148includes indications of network links114for which a maximum supported baud rate is to be maintained throughput operation of the network link114or is to be provided at specific times during operation of the network link114. Additionally or alternatively, in some embodiments, the network information148includes indications of respective baud rates to be maintained for respective network links114throughput operation of the network links114or at specific times during operation of the network links114. In an embodiment, the network information148includes indications of scheduled or anticipated usage of the network links114. For example, the network information148includes a schedule of events, such as meetings, training sessions, etc. expected to affect usage of the network links114, in an embodiment.

In an embodiment, the network information148includes indications of various PHY parameters supported by the PHY processor106of the network device104and the respective PHY processors122of the endpoint devices108, such as baud rates, effective data rates, transmit power levels, etc. supported by the respective transceivers120of PHY processor106of the network device104and the respective transceivers124of the respective PHY processors122of the endpoint devices108. In some embodiments, the indications of various PHY parameters supported by the respective transceivers120of the network device104and the respective transceivers124of the endpoint devices108are additionally or alternatively obtained by the network optimizer142by querying the PHY processor106of the network device104and the respective PHY processors122of the endpoint devices108, for example.

In an embodiment, the network optimizer142is configured to determine link settings146for the network links114based on the analysis of the link metrics144and the network information148. The link settings146include respective PHY parameters to be used for communication in downlink and/or uplink directions on respective network links114, in an embodiment. For example, the link settings146for a particular network link114include one or more of i) a baud rate to be used for transmission of signals in the uplink direction on the particular network link114, ii) a baud rate to be used for transmission of signals in the uplink direction on the particular network link114, iii) an effective data rate to be used for transmission of signals in the uplink direction on the particular network link114, iv) an effective data rate to be used for transmission of signals in the downlink direction on the particular network link114, iv) transmit power level to be used for transmission of signals in the uplink direction on the particular network link114, and vi) transmit power level to be used for transmission of signals in the downlink direction on the particular network link114. In other embodiments, the link settings146additionally or alternatively include other suitable network link settings. In an embodiment, the network optimizer142is configured to optimize overall performance on the network links114by selecting, from a set of link settings supported by the network link114, optimal link settings for each network link114that ensure adequate or required performance on the network link114while also ensuring that transmission on the network link114will not cause unacceptable cross talk on neighboring network links114.

In an embodiment, the network optimizer142is configured to consider symmetric link configurations as well as asymmetric link configurations when determining link settings146for the network links114. In symmetric link configurations, a PHY parameter used for transmission in the uplink direction on the network link114is the same as the PHY parameter used for transmission in the downlink direction on the network link114. For example, a same baud rate is used for transmission in the downlink direction on a network link114and in the uplink direction on the network link114. As another example, a same transmit power level, same effective data rate, etc. is used for transmission in the downlink direction on a network link114and in the uplink direction on the network link114. On the other hand, in asymmetric link configuration, a PHY parameter used for transmission in the uplink direction on a network link114is different from the PHY parameter used for transmission in the downlink direction on the network link114. For example, different baud rates, effective data rates, transmit power levels, etc. are used for transmission in uplink and downlink directions on a network link114. As a more specific example, in an embodiment, the network optimizer142determines, for at least one of the network links114, i) a first baud rate for transmission of data in downlink direction via the network link and ii) a second baud rate for transmission of data in uplink direction via the network link, the second baud rate being different (e.g., higher or lower) from the first baud rate, in an embodiment. As another example, the network optimizer142determines, for at least one of the network links114, i) a first effective data rate for transmission of data in downlink direction via the network link114and ii) a second effective data rate for transmission of data in uplink direction via the network link114, the second effective data rate being different (e.g., higher or lower) from the first effective data rate, in an embodiment. As yet another example, the network optimizer142determines, for at least one of the network links114, i) a first transmit power level for transmission of data in downlink direction via the network link114and ii) a second transmit power level for transmission of data in uplink direction via the network link114, the second transmit power level being different (e.g., higher or lower) from the first transmit power level, in an embodiment.

In some cases, asymmetric link configuration of a network link114causes less crosstalk and/or allows mitigation of crosstalk in transceivers120,124corresponding to the network link114. Thus, in some embodiments, the link settings146include asymmetric link settings for at least some of the network links114. In some cases, the link settings146include i) symmetric link settings to be used for one or more of the network links114and ii) asymmetric link settings for other one or more of the network links114. In another embodiment, the link settings146include either symmetric link settings or asymmetric link settings for all of the network links114.

In an embodiment, the network optimizer142comprises one or more machine learning models, such as one or more neural networks, trained or otherwise configured to analyze the link metrics144to detect relationships between transmission of signals on ones of the network links114and qualities of other ones of the network links114, to detect patterns of usage of the network links114, etc. and to determine the link settings146to optimize performance of the network links114. In an embodiment, the network optimizer142is configured to perform multiple iterations of determining the links settings146, providing the determined link settings146to the network device104and/or endpoint devices108, obtaining link metrics144when the network links114are configured according to the link settings146and adjusting the links settings146to better optimize performance across the network links114. In other embodiments, the network optimizer142is configured to analyze the link metrics144and to determine the link settings146in other suitable manners.

The network controller140is configured to provide the determined link settings146to the network device104and/or the endpoint devices108to control configuration of the network links114at the network device104and/or the endpoint devices108. In an embodiment, the PHY processor106of the network device104is configured to configure the transceivers120based on the link settings146received from the network controller140. For example, the PHY processor106of the network device104is configured to configure respective transceivers120to utilize PHY parameters, such as baud rate, effective data rate, indicated for the corresponding network links114in the link settings146. Similarly, the PHY processors122of the endpoint devices108are configured to configured to configure respective transceivers124to utilize PHY parameters, such as baud rate, effective data rate, indicated for the corresponding network links114in the link settings146, in an embodiment.

In some embodiments, the network controller140is configured to provide different link settings146to the network device104and/or endpoint devices108at different times of operation of the communication network100. For example, the network optimizer142is configured determine different sets of link settings146to be used at different times throughout the day (e.g., morning, lunchtime, evening, every hour, etc.), the different sets of link settings146determined to optimize performance across the network links114for different usage patterns of the communication network100throughout the day, and to store the different sets of link settings146in a memory152coupled to the network optimizer142. The network controller140is configured to, at appropriate times of day throughout operation of the communication network100, retrieve corresponding link settings146from the memory152and provide the retrieved link settings146to the network device104and/or the endpoint devices108, in an embodiment. In some embodiments, the network controller140is configured to additionally or alternatively dynamically adjust link settings146based on link metrics144received by the network controller140during operation of the communication network100.

The PHY processor106of the network device104is configured to receive the different link settings146at the different times of operation of the communication network100and/or the dynamically adjusted links settings146during operation of the communication network100, and to reconfigure the network links114according to the received link settings146, in an embodiment. Similarly, the PHY processors122of the endpoint devices108are configured to receive the different link settings146at the different times of operation of the communication network100, and to reconfigure the network links114according to the received link settings146, in an embodiment. In some embodiments, the network optimizer142is configured to learn or otherwise determine amounts of time that it takes to apply changes for respective PHY parameters at the network device104and/or the endpoint devices108and to rule out certain changes if the changes would interrupt communications between the network device104and an endpoint device108for significant time durations, for example.

In an embodiment, the PHY processor106is configured apply the link settings146for the network links114during establishment of the network links114(e.g., during auto-negotiation phase of link establishment, during training phase of link establishment, etc.) and/or during data mode after establishment of the network links114. For example, the PHY processor106is configured to set a baud rate for the network link114, indicated in the link settings146, during link establishment (e.g., during auto-negotiation phase of link establishment) of the network link114, in an embodiment. As another example, the PHY processor106is configured to, during link establishment (e.g., during auto-negotiation phase of link establishment, during training phase of link establishment, etc.) of a network link114, configure a transceiver120corresponding to the network link114to utilize a coding scheme and/or signal constellation to achieve an effective data rate indicated in the link settings146for the network link114. In an embodiment, the PHY processor106is configured to reconfigure the transceiver120corresponding to the network link114to utilize a new coding scheme and/or signal constellation to achieve new effective data rate indicated in the link settings146, received from the network controller140during operation of the network link114, in data mode of communication over the network link114. As another example, in an embodiment, the PHY processor106is configured to implement time division multiplexing between the network links114, during data mode of communication over the network links114, based on indications included in the link settings146for the network links114.

As yet another example, the PHY processor106is configured to, during link establishment (e.g., during auto-negotiation phase of link establishment, during training phase of link establishment, etc.) of the network link114, set transmit power level for transmission over a network link114based on a transmit power level indication in the link settings146for the network link114. In an embodiment, the PHY processor106is configured to set transmit power level for transmission over a network link114based on a new transmit power level indication in the link settings146for the network link114, received from the network controller140, in data mode of communication over the network link114. In some embodiments, the PHY processor106is configured to initiate a fast retrain process during data mode of communication over a network link114to set one or more of i) a new coding scheme, ii) a new signal constellation, iii) a new transmit power, etc., based on corresponding one or more indications in the link settings146for the network link114, received from the network controller140, in data mode of communication over the network link114. Although configuration and reconfiguration of PHY parameters of network links114is described with reference to the PHY processor106of the network device104, the PHY processors122of the endpoint devices108are additionally or alternatively configured to configure and/or reconfigure PHY parameters for the network links114based on the link settings146during establishment of the network link114and/or during data mode after establishment of the network link114as described above, in some embodiments. Techniques described herein for optimization and configuration of link settings for the network links114mitigates crosstalk experienced by the respective network links114that results from transmission of signals in at least some of the network links114at baud rates that correspond to bandwidths that exceed maximum bandwidth ratings of respective cables112that carry signals of the network links114, in at least some embodiments.

FIG.2is a block diagram of an example network optimizer200, according to an embodiment. The network optimizer200corresponds to the network optimizer142of the network controller140of communication network100FIG.1, and the network optimizer200is described with reference toFIG.1for ease of explanation. In other embodiments, the network optimizer200is utilized with network controllers different from the network controller140ofFIG.1and/or with communication networks different from the communication network100ofFIG.1. Similarly, the network optimizer142of the network controller140of communication network100FIG.1is different from the network optimizer200, in some embodiments.

The network optimizer200is configured to receive link metrics202(e.g., corresponding to the link metrics144ofFIG.1) indicative of relationships between transmission of signals on respective ones of the network links114in the communication network100such as crosstalk experienced by ones of network links114as a result of transmission of signals on other ones of the network links114during operation of the communication network100, and to determine link settings204(e.g., corresponding to the network link settings146ofFIG.1) that improve or optimize performance across the network links114in the communication network100, in an embodiment. In some embodiments, the network optimizer200is additionally configured to receive network information206(e.g., corresponding to the network information148) provided, for example, by an operator of the communication network, and to determine the network link settings204further based on the network information206to ensure that the determined link settings204meet link provisioning requirements206, for example.

The network optimizer200includes a link monitoring engine210, a link metrics analyzer212and a link setting optimizer214, in an embodiment. The link monitoring engine210is configured to obtain the link metrics202for i) signals transmitted via the network links114in the downlink direction from the network device104to the endpoint devices108and/or ii) signals transmitted via the network links114in the uplink direction from the endpoint devices108to the network device104, in an embodiment. In an embodiment, the link metrics202include, for each of some or all of the network links114, one or more of i) bit error rate for data transmitted in the downlink and/or uplink direction via the network link114, ii) frame error rate for data transmitted in the downlink and/or uplink direction via the network link114, iii) number of correctable errors in data transmitted in the downlink and/or uplink direction via the network link114, iv) signal to noise ratio (SNR) in signals transmitted in the downlink and/or uplink direction via the network link114. In other embodiments, the link metrics202additionally or alternatively includes other suitable link metrics indicative of relationships between qualities of network links114in the communication network100.

The link monitoring engine210is configured to obtain the link metrics202from the network from the network device104and/or endpoint devices108during setup, maintenance and/or regular operation of the communication network100, in various embodiments. For example, the link monitoring engine202is configured collect link metrics202for a certain period of time when the network optimizer200is first deployed in the communication network100, such as for a certain period of time after initial setup of the communication network100, to capture characteristics of the network links114during operation of the communication network100. The link monitoring engine202is configured to store the link metrics202collected for the certain period of time after initial setup of the communication network100in a memory220coupled to the network optimizer200, in an embodiment. In some embodiments, the link monitoring engine202is configured to control settings of the network links114as the link metrics202are being collected the link monitoring engine202, to capture characteristics of the network links114with various settings of the network links114. For example, the link monitoring engine202is configured to collect link metrics202while systematically varying one or more of i) respective baud rates used for uplink and/or downlink transmission in respective network links114, ii) respective effective data rates used for uplink and/or downlink transmission in respective network links114and iii) respective transmit power levels used for uplink and/or downlink transmission in respective network links114, in an embodiment. In another embodiment, the link monitoring engine202is configured to collect link metrics202during regular operation of the communication network100without systemically varying settings of network links114in the communication network100.

The link metrics analyzer212is configured to analyze the link metrics202collected by the link monitoring engine210to detect relationships between transmission of signals on ones of the network links114and qualities of other ones of the network links114, in an embodiment. The link metrics analyzer212is configured to determine effects that transmission of signals in uplink and/or downlink direction in one network link114has on signals transmitted in other ones of the network links114. As an example, the link metrics analyzer212determines that transmission of signals at a particular speed (e.g., baud rate or effective data rate), such as maximum supported speed, on the network link114-1causes significant amount of crosstalk on network link114-2and negatively impacts quality of signal transmitted on the network link114-2. Additionally, the link metrics analyzer212is configured to determine patterns of usage of the network links114in the communication network100, such as specific times at which respective network links114are utilized in the communication network100, levels of activity of respective network links114at various times of operation of the communication network100, specific throughput requirements of the respective network links114at various times of operation of the communication network100, etc., in various embodiments. In an embodiment, the link metrics analyzer212is configured to determine, based on analyzing the link metrics202, patterns of usage the network links114associated with events that occur at various times of usage of the communication network100, such as meetings, training sessions, etc. in the enterprise that utilizes the communication network100.

The link setting optimizer214is configured to determine link settings204for the network links114to improve or optimize performance across the network links114. In an embodiment, the link setting optimizer214is configured to determine link settings204based on one or more of i) the relationships between link qualities of data transmitted on respective network links114detected by the link metrics analyzer212, ii) the usage patterns detected by the link metrics analyzer212, iii) the PHY capabilities of the network device104and the endpoint devices108obtained by the link monitoring engine210and iv) link provisioning requirements208provided for the network links114. The link settings204include respective PHY parameters to be used for communication in downlink and/or uplink directions on respective network links114, in an embodiment. For example, the link settings204for a particular network link114include one or more of i) a baud rate to be used for transmission of signals in the uplink direction on the particular network link114, ii) a baud rate to be used for transmission of signals in the downlink direction on the particular network link114, iii) an effective data rate to be used for transmission of signals in the uplink direction on the particular network link114, iv) an effective data rate to be used for transmission of signals in the downlink direction on the particular network link114, iv) transmit power level to be used for transmission of signals in the uplink direction on the particular network link114, and vi) transmit power level to be used for transmission of signals in the downlink direction on the particular network link114. In other embodiments, the link settings204additionally or alternatively include other suitable network link settings. For example, the link setting optimizer214is configured to determine that the baud rate, effective data rate and/or transmit power level should be increased or decreased in particular network links114at particular times of operation of the communication network100in order to decrease adverse effect that transmission of signals on the particular network links114causes in other ones of the network links114.

In an embodiment, the link settings optimizer214is configured determine the link settings204further based on priorities of respective network links114, types of activities performed on the network links114, types of data transmitted via the network links114, etc. For example, the link settings optimizer214is configured to assign relatively higher baud rates, higher effective data rates and/or higher transmit power levels to network links114that have higher priorities or are used for transmission of more important traffic and assign relatively lower baud rates, relatively lower effective data rates and/or relatively lower transmit power levels to network links114that have relatively lower priorities or are used for transmission of relatively less important traffic. As a more specific example, in an embodiment, the link settings optimizer214is configured to assign a relatively lower baud rate, a relatively lower effective data rate and/or relatively lower transmit power level to a network link114that is used for playing music or watching a video as compared to a network link114that is used for transmission of data in connection with performing a work-related simulation.

In some embodiments, the link setting optimizer214is configured to determine different sets of link settings204to be used at different times throughout the day (e.g., morning, lunchtime, evening, every hour, etc.), the link settings204determined to optimize performance across the network links114for different usage patterns of the communication network100throughout the day, and to store the different link settings204in the memory220coupled to the network optimizer200so that the different sets of links settings can be applied to the network links114at appropriate times during operation of the communication network100.

In an embodiment, the link setting optimizer214is configured to determine asymmetric link configurations for at least some of the network links114. For example, in an embodiment, the network optimizer142determines, for at least one of the network links114, i) a first baud rate for transmission of data in downlink direction via the network link and ii) a second baud rate for transmission of data in uplink direction via the network link, the second baud rate being different (e.g., higher or lower) as compared to the first baud rate, in an embodiment. As another example, the network optimizer142determines, for at least one of the network links114, i) a first effective data rate for transmission of data in downlink direction via the network link114and ii) a second effective data rate for transmission of data in uplink direction via the network link114, the second effective data rate being different (e.g., higher or lower) as compared to the first effective data rate, in an embodiment. As yet another example, the network optimizer142determines, for at least one of the network links114, i) a first transmit power level for transmission of data in downlink direction via the network link114and ii) a second transmit power level for transmission of data in uplink direction via the network link114, the second transmit power level being different (e.g., higher or lower) as compared to the first transmit power level, in an embodiment. In some cases, the link setting optimizer214determines i) symmetric link settings to be used for one or more of the network links114and ii) asymmetric link settings for other one or more of the network links114. In other cases, the link setting optimizer214determines either symmetric link settings or asymmetric link settings for all of the network links114.

In an embodiment, the link metrics analyzer212comprises one or more machine learning models, such as one or more neural networks, trained or otherwise configured to detect relationships between transmission of signals on ones of the network links114and qualities of other ones of the network links114, to detect patterns of usage of the network links114, etc. based on the link metrics202. Similarly, the link setting optimizer214comprises one or more machine learning models, such as one or more neural networks, trained or otherwise configured to determine link settings204for the network links114to optimize overall performance of across the network links114while ensuring that links provisioning requirements provided in the network information206are met for the network links114. In an embodiment, the link setting optimizer214is configured to utilize one or more cost functions, such as a max-min throughput cost function to determine link settings204that maximize the minimum throughput across the network links114and/or a max sum throughout cost function to maximize the sum of throughput across the network links114. In other embodiments, other suitable cost functions are additionally or alternatively utilized. For example, optimization other than throughput maximization, such as SNR optimization, data error minimization, etc. is utilized, in some embodiments. In an embodiment, the link setting optimizer214is configured to perform multiple iterations of determining the links settings204, providing the determined link settings204to the network device104and/or endpoint devices108, obtaining link metrics202with the network links114configured according to the link settings204, and adjusting the links settings204to better optimize performance across the network links114.

Although the link monitoring engine202, the link analyzer204and the link setting optimizer206are illustrated inFIG.2as separate blocks, functionality of two or more of the link monitoring engine202, the link metrics analyzer204and the link setting optimizer206is combined into a single processing block, in some embodiments. For example, functionality of the link analyzer204and the link setting optimizer206is combined into a single optimizer (e.g., a single machine learning model, such as a single neural network) configured to jointly analyze link metrics indicative of crosstalk in network links and to determine link settings that optimize performance of the network, in some embodiments.

FIG.3is a flow diagram of an example method300for configuring a plurality of network links on a plurality of cables in a communication network, according to an embodiment. In an embodiment, the method300is implemented by the network controller140ofFIG.1, and the method300is described with reference toFIG.1for ease of explanation. In an embodiment, the method300is implemented by the network optimizer200ofFIG.2. In other embodiments, the method300is implemented by a suitable network controller different from the network controller140ofFIGS.1and/or a suitable network optimizer different from the network optimizer200ofFIG.2.

At block302, link metrics are received by a network controller device. The link metrics are received from one or more network devices, such as switch, hub and/or endpoint devices, communicatively coupled to the plurality of cables. The link metrics include metrics indicative of crosstalk experienced by network links among the plurality of network links between the network devices via the plurality of cables. For example, the link metrics include, for each of at least some of the network links among the plurality of network links, one or more of i) bit error rate for data transmitted in the downlink (e.g., from the network device104to the endpoint devices108) and/or uplink direction (e.g., from the endpoint devices108to the network device104) via the network link114, ii) frame error rate for data transmitted in the downlink and/or uplink direction via the network link114, iii) number of correctable errors in data transmitted in the downlink and/or uplink direction via the network link114, iv) signal to noise ratio (SNR) in signals transmitted in the downlink and/or uplink direction via the network link114. In an embodiment, the link metrics are collected by the network controller over a period of time of operation of the communication network, such as over a day, a week, a month, etc., at setup or maintenance time of the communication network. In an embodiment, the link metrics are received during regular operation of the communication network.

At block304, link settings for the network links are determined based at least in part on the link metrics received at block302. In an embodiment, the link settings are determined to mitigate crosstalk experienced by the respective network links as a result of transmission of signals in at least some of the network links at baud rates that correspond to bandwidths that exceed maximum bandwidth ratings of respective cables of the corresponding ones of the other links. For example, link settings that globally optimize performance across the network links are determined. In an embodiment, determining the link settings at block304includes i) analyzing the link metrics received at block302to determine relationships between transmission of signals on ones of the network links and qualities of other ones of the network links and ii) determining the link settings to reduce adverse effects of crosstalk between network links while maintaining acceptable or required performance on the respective ones of the network links.

At block306, the network controller causes configuration of the respective network links based on the network configuration profile to optimize throughput in the communication network. For example, the network controller provides the determined link settings to one or more network devices in the communication network. The one or more network devices configure the network links according to the determined link settings. For example, the one or more network devices set baud rates, effective data rates, transmit power levels, etc. for communication over the respective network links according to the determined link settings. In an embodiment, the network controller provides, to the one or more network devices in the communication network, different sets of link settings at different times of day during operation of the communication network, the different sets of settings determined to optimize performance on the network links at the different times of day during operation of the communication network. In some embodiments, the network controller provides, to the one or more network devices, link settings dynamically determined during regular operation of the communication network based on link metrics received from the one or more network devices during regular operation of the communication network. The network controller thus causes adjustment of link settings to dynamically reconfigure the network links during regular operation of the communication network. Such global optimization of the network link settings mitigates effects of crosstalk between cables that are not rated for high baud rates used for transmission over the cables in the network, while maintaining suitable performance and meeting requirements for the network links in the network, in at least some embodiments. Thus, such global optimization of the network link settings allows use of the higher baud rates on at least some network links with existing, already installed cables (e.g., Cat5 and Cat5e cables, or even Cat3 cables), i.e., without having to install new cabling, while still providing adequate performance of the entire network.

Embodiment 1: A method for configuring a plurality of network links on a plurality of cables between network devices in a communication network, the method comprising: receiving, at a network controller, link metrics including metrics indicative of crosstalk experienced by network links among the plurality of network links on the plurality of cables, the plurality of cables comprising respective cables having maximum bandwidth ratings; determining, at the network controller based at least in part on the link metrics, respective link settings for respective network links among the plurality of network links, the respective link settings determined to mitigate crosstalk experienced by the respective network links as a result of transmission of signals in at least some of the network links at baud rates that correspond to bandwidths that exceed maximum bandwidth ratings of respective cables of the corresponding ones of the network links; and causing, by the network controller device, configuration of the respective network links based on the link settings to optimize performance across the plurality of network links in the communication network.

Embodiment 2: The method of embodiment 1, wherein receiving the link metrics includes receiving, for each of one or more network links among the plurality of network links, one or more of i) bit error rate for data transmitted in one or both of downlink and uplink direction via the network link, ii) frame error rate for data transmitted in one or both of downlink and uplink direction via the network link, iii) number of correctable errors in data transmitted in one or both of downlink and uplink direction via the network link, iv) signal to noise ratio (SNR) in signals transmitted in one or both of downlink and uplink direction via the network link.

Embodiment 3: The method of embodiment 1 or 2, wherein determining the link settings includes i) analyzing the link metrics to determine relationships between transmission of signals on ones of the network links and qualities of other ones of the network links and ii) determining the link settings based on the determined relationships to reduce adverse effects of crosstalk between the network links.

Embodiment 4: The method of embodiment claim3, wherein determining the link settings further includes i) analyzing the link metrics to determine expected usage of network links among the plurality of network links and ii) determining the link settings further based on the expected usage of the network links.

Embodiment 5: The method of any of the embodiments 1-4, wherein determining the link settings comprises determining one or more of i) respective baud rates for respective network links among the plurality of network links, ii) respective transmit power levels for respective network links among the plurality of network links and iii) respective effective data rates for respective network links among the plurality of network links.

Embodiment 6: The method of any of the embodiments 1-5, wherein determining the link settings includes determining an asymmetric configuration for at least one of the network links, including determining i) a first baud rate for transmission of data in downlink direction via the network link and ii) a second baud rate for transmission of data in uplink direction via the network link, the second baud rate being different from the first baud rate.

Embodiment 7: The method of any of the embodiments 1-6, wherein determining the link settings includes determining an asymmetric configuration for at least one of the network links, including determining i) a first effective data rate for transmission of data in downlink direction via the network link and ii) a second effective data rate for transmission of data in uplink direction via the network link, the second effective data rate being different from the first effective data rate.

Embodiment 8: The method of any of the embodiments 1-7, wherein determining the link settings includes determining an asymmetric configuration for at least one of the network links, including determining i) a first transmit power level for transmission of data in downlink direction via the network link and ii) a second transmit power level for transmission of data in uplink direction via the network link, the second transmit power level being different from the first transmit power level.

Embodiment 9: The method of any of the embodiments 1-8, further comprising: receiving, at the network controller device, network information including one or more link provisioning constraints specifying performance requirements for one or more constrained network links among the plurality of network links, and determining the link settings further based on the link provisioning constraints to ensure that the specified performance requirements are met for the one or more constrained network links.

Embodiment 10: The method of embodiment 9, wherein determining the link settings includes evaluating a cost function to optimize throughput of the plurality of network links in the communication network while meeting the provisioning constraints for the one or more constrained network links in the communication network.

Embodiment 11: A network controller comprises a processor and a memory storing instructions that, when executed by the processor, cause the processor to: receive link metrics for a plurality of network links on a plurality of cables between network devices in a communication network, the link metrics including metrics indicative of crosstalk experienced by network links among the plurality of network links on the plurality of cables, the plurality of cables comprising respective cables having maximum bandwidth ratings; determine, based at least in part on the link metrics, respective link settings for respective network links among the plurality of network links, the respective link settings determined to mitigate crosstalk experienced by the respective network links as a result of transmission of signals in at least some of the network links at baud rates that correspond to bandwidths that exceed maximum bandwidth ratings of respective cables of the corresponding ones of the network links; and cause configuration of the respective network links based on the link settings to optimize performance across the plurality of network links in the communication network.

Embodiment 12: The network controller of embodiment 11, wherein the instructions, when executed by the processor, cause the processor to receive, for each of one or more network links among the plurality of network links, one or more of i) bit error rate for data transmitted in one or both of downlink and uplink direction via the network link, ii) frame error rate for data transmitted in one or both of downlink and uplink direction via the network link, iii) number of correctable errors in data transmitted in one or both of downlink and uplink direction via the network link, iv) signal to noise ratio (SNR) in signals transmitted in one or both of downlink and uplink direction via the network link.

Embodiment 13: The network controller of embodiment 11 or 12, wherein the instructions, when executed by the processor, cause the processor to determine the link settings at least by i) analyzing the link metrics to determine relationships between transmission of signals on ones of the network links and qualities of other ones of the network links and ii) determining the link settings based on the determined relationships to reduce adverse effects of crosstalk between network links.

Embodiment 14: The network controller of embodiment 13, wherein the instructions, when executed by the processor, cause the processor to determine the link settings further by i) analyzing the link metrics to determine expected usage of network links among the plurality of network links and ii) determining the link settings further based on the expected usage of the network links.

Embodiment 15: The network controller of any of embodiments 11-14, wherein the instructions, when executed by the processor, cause the processor to determine, based at least in part on the link metrics, one or more of i) respective baud rates for respective network links among the plurality of network links, ii) respective transmit power levels for respective network links among the plurality of network links and iii) respective effective data rates for respective network links among the plurality of network links.

Embodiment 16: The network controller of any of embodiments 11-15, wherein the instructions, when executed by the processor, cause the processor to determine, based at least in part on the link metrics, asymmetric configurations for at least one of the network links, including determining i) a first baud rate for transmission of data in downlink direction via the network link and ii) a second baud rate for transmission of data in uplink direction via the network link, the second baud rate being different from the first baud rate.

Embodiment 17: The network controller of any of embodiments 11-16, wherein the instructions, when executed by the processor, cause the processor to determine, based at least in part on the link metrics, asymmetric configurations for at least one of the network links, including determining i) a first effective data rate for transmission of data in downlink direction via the network link and ii) a second effective data rate for transmission of data in uplink direction via the network link, the second effective data rate being different from the first effective data rate.

Embodiment 18: The network controller of any of embodiments 11-17, wherein the instructions, when executed by the processor, cause the processor to determine, based at least in part on the link metrics, asymmetric configurations for at least one of the network links, including determining i) a first transmit power level for transmission of data in downlink direction via the network link and ii) a second transmit power level for transmission of data in uplink direction via the network link, the second transmit power level being different from the first transmit power level.

Embodiment 19: The network controller of any of embodiments 11-18, further storing instructions that, when executed by the processor, cause the processor to: receive network information including one or more link provisioning constraints specifying performance requirements for one or more constrained network links among the plurality of network links, and determine the link settings further based on the link provisioning constraints to ensure that the specified performance requirements are met for the one or more constrained network links.

Embodiment 20: The network controller of embodiment 19, wherein the instructions, when executed by the processor, cause the processor to determine the link settings at least by evaluating a cost function to optimize throughput of the plurality of network links in the communication network while meeting the provisioning constraints for the one or more constrained network links in the communication network.

At least some of the various blocks, operations, and techniques described above may be implemented utilizing hardware, a processor executing firmware instructions, a processor executing software instructions, or any combination thereof. When implemented utilizing a processor executing software or firmware instructions, the software or firmware instructions may be stored in any computer readable memory coupled to the processor, such as a RAM, a ROM, a flash memory, etc. The software or firmware instructions may include machine readable instructions that, when executed by one or more processors, cause the one or more processors to perform various acts.

When implemented in hardware, the hardware may comprise one or more of discrete components, an integrated circuit, an application-specific integrated circuit (ASIC), a programmable logic device (PLD), etc.

While the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, changes, additions and/or deletions may be made to the disclosed embodiments without departing from the scope of the invention.