Skip to main content

May 26, 2026

Detect Unstable Network Connections

Omnissa Horizon Client can monitor the network quality during remote sessions and display a notification message if it detects network instability due to high latency. The network latency is based on round-trip time (RTT) for TCP connections, and on RTT, packet loss, and RTT variation (RTTV) for BEAT and UDP connections.

You can use the Horizon Client settings to control the display of these notification messages. You can also configure the threshold parameters used by Horizon Client to identify unstable networks.

Configure the Display of Network Notifications

You can control the display of network notification messages using the Configure Omnissa Horizon Blast menu item.

  1. Start Horizon Client.

  2. Select File > Configure Horizon Blast from the menu bar.

    The Horizon Blast Configuration window lets you configure the display of network notifications.

  3. Configure the display of notifications when the network is unstable.

    • To turn on network notifications, deselect the Disable network state display option. By default, this option is deselected to allow the display of notifications.
    • To turn off network notifications, select the Disable network state display option.
  4. Click OK to save your changes.

How Horizon Client Determines the Network Quality

To determine the quality of a network connection, Horizon Client compares the network conditions during a specified time interval to a pair of low and high threshold values and calculates a quality score from 0 through 100 percent. If the score falls below a certain percentage, the network is deemed to be high-latency and unstable.

Horizon Client measures the following network conditions depending on the network protocol in use.

Network Factors Measured by Horizon Client
ProtocolMeasured Conditions
TCP
  • RTT
BEAT or UDP
  • RTT
  • Packet loss
  • RTT variation (also known as RTTV or jitter)

Horizon Client then uses the following rules to calculate the network quality score:

TCP Connections

Definitions:
rtt = detected RTT value
lowBound = RTT low threshold
highBound = RTT high threshold
score = overall network quality score

Rules:
If rtt >= highBound, then score = 0 (network is considered POOR)
If rtt <= lowBound, then score = 100 (network is considered GOOD)
If lowBound < rtt < highBound, then score = 100 * (rtt / (highBound - lowBound))
BEAT and UDP Connections

Definitions:
RTT = detected RTT value
RTT_extreme = RTT extreme threshold
RTT_lowBound = RTT low threshold
RTT_highBound = RTT high threshold
RTT_score = RTT quality score
RTT_weight_percentage = weight of RTT quality score

PkLoss = detected packet loss value
PkLoss_extreme = packet loss extreme threshold
PkLoss_lowBound = packet loss low threshold
PkLoss_highBound = packet loss high threshold
PkLoss_score = packet loss quality score
PkLoss_weight_percentage = weight of packet loss quality score


RTTV = detected RTT variation
RTTV_lowBound = low RTTV threshold
RTTV_highBound = high RTTV threshold
RTTV_score = RTTV quality score
RTTV_weight_percentage = weight of RTTV quality score

score = overall network quality score

Rules:
If RTT > RTT_extreme, then score = 0 (network is automatically considered POOR, all other calculations are skipped)
If RTT >= RTT_highBound, then RTT_score = 0
If RTT <= RTT_lowBound, then RTT_score = 100
If RTT_lowBound < RTT < RTT_highBound, then RTT_score = 100 * (rtt / (RTT_highBound - RTT_lowBound))

If PkLoss > PkLoss_extreme, then score = 0 (network is automatically considered POOR, all other calculations are skipped)
If PkLoss >= PkLoss_highBound, then PkLoss_score = 0
If PkLoss <= PkLoss_lowBound, then PkLoss_score = 100
If PkLoss_lowBound < PkLoss < PkLoss_highBound, then PkLoss_score = 100 * (PkLoss / (PkLoss_highBound - PkLoss_lowBound))

If RTTV >= RTTV_highBound, then RTTV_score = 0
If RTTV <= RTTV_lowBound, then RTTV_score = 100
If RTTV_lowBound < RTTV < RTTV_highBound, then RTTV_score = 100 * (RTTV / (RTTV_highBound - RTTV_lowBound))

To calculate the overall score, take the weighted average of the three quality scores:
score = RTT_score * RTT_weight_percentage / 100 +
        PkLoss_score * PkLoss_weight_percentage / 100 +
        RTTV_score * RTTV_weight_percentage / 100

Horizon Client then uses the following rules to determine the network stability:

Definitions:
score = overall network quality score
thresholdGood = minimum score indicating GOOD network stability
thresholdPoor = high limit of score range indicating POOR network stability

Rules:
If score >= thresholdGood, the network is considered GOOD and no notification is displayed.
If thresholdPoor < score < thresholdGood, the network is considered OK and no notification is displayed.
If score <= thresholdPoor, the network is considered POOR and a notification is displayed.

Configure Threshold Parameters for Network Quality

To customize the threshold parameters used by Horizon Client to calculate the network quality score and determine network stability, configure the keys in one of the configuration files.

  1. Global settings
  2. User preferences
  3. User default config
  4. Host defaults config
  5. Site defaults

Horizon Client searches through the configuration files in the listed order and stops as soon as it finds a key with a configured value.

Note: Use caution when changing the defaults for these configuration keys. The default threshold values were determined through extensive internal testing and are designed to produce reasonable results for typical network environments.

Configuration Keys for Network Quality
Configuration KeyAllowed ValuesDefault ValueDescription
vvc.NetworkStatsCheckEnabled0, 11 Specifies whether to enable the processing of network data to calculate the network quality score.
  • Specify 1 to enable the processing of network data and calculate the network quality score.
  • Specify 0 to turn off the processing of network data. Horizon Client will not monitor the network quality or calculate a network quality score.
vvc.NetworkStatsCheckPeriodSecA positive integer greater than 215Specifies the time interval, in seconds, during which network conditions are monitored.
vvc.NetworkStatsQualityScoreTcpThresholdGoodA number from 0 through 10085 Specifies the minimum score required to indicate GOOD quality for TCP networks. The specified value must be greater than the vvc.NetworkStatsQualityScoreTcpThresholdPoor value.
vvc.NetworkStatsQualityScoreTcpThresholdPoorA number from 0 through 10040 Specifies the high limit of the score range indicating POOR quality for TCP networks. The specified value must be less than the vvc.NetworkStatsQualityScoreTcpThresholdGood value.
vvc.NetworkStatsQualityScoreBeatThresholdGoodA number from 0 through 10075 Specifies the minimum score required to indicate GOOD quality for BEAT and UDP networks. The specified value must be greater than the vvc.NetworkStatsQualityScoreBeatThresholdPoor value.
vvc.NetworkStatsQualityScoreBeatThresholdPoorA number from 0 through 10045 Specifies the high limit of the score range indicating POOR quality for BEAT and UDP networks. The specified value must be less than the vvc.NetworkStatsQualityScoreBeatThresholdGood value.
vvc.NetworkStatsTcpRttMSLowA positive integer2 Specifies the low RTT threshold value, in milliseconds, used to calculate the quality score for TCP networks. The specified value must be less than the vvc.NetworkStatsTcpRttMSHigh value.
vvc.NetworkStatsTcpRttMSHighA positive integer400 Specifies the high RTT threshold value, in milliseconds, used to calculate the quality score for TCP networks. The specified value must be greater than the vvc.NetworkStatsTcpRttMSLow value.
vvc.NetworkStatsTcpRttMSWeightPercentA percentage from 0 through 100100 Specifies the statistical weight of the RTT value used to calculate the quality score for TCP networks. Note: Since RTT is the only network factor currently used to determine the quality of TCP networks, this key must be set to 100.
vvc.NetworkStatsBeatRttMSLowA positive integer2 Specifies the low RTT threshold value, in milliseconds, used to calculate the quality score for BEAT and UDP networks. The specified value must be less than the vvc.NetworkStatsBeatRttMSHigh value.
vvc.NetworkStatsBeatRttMSHighA positive integer400 Specifies the high RTT threshold value, in milliseconds, used to calculate the quality score for BEAT and UDP networks. The specified value must be greater than the vvc.NetworkStatsBeatRttMSLow value.
vvc.NetworkStatsBeatRttMSExtremeA positive integer250 Specifies the extreme RTT threshold value, in milliseconds, used to immediately identify POOR-quality BEAT and UDP networks. If the detected RTT is greater than the extreme threshold, the network is automatically considered POOR and no other scoring calculations are made.
vvc.NetworkStatsBeatRttMSWeightPercentA percentage from 0 through 10034 Specifies the statistical weight of the RTT value used to calculate the quality score for BEAT and UDP networks. Note: The combined value of vvc.NetworkStatsBeatRttMSWeightPercent, vvc.NetworkStatsBeatPkLossPercentWeightPercent, and vvc.NetworkStatsBeatRttvMSWeightPercent must equal 100.
vvc.NetworkStatsBeatPkLossPercentLowA percentage from 0 through 1000.1 Specifies the low packet loss threshold used to calculate the quality score for BEAT and UDP networks. The specified value must be less than the vvc.NetworkStatsBeatPkLossPercentHigh value.
vvc.NetworkStatsBeatPkLossPercentHighA percentage from 0 through 10015 Specifies the high packet loss threshold used to calculate the quality score for BEAT and UDP networks. The specified value must be greater than the vvc.NetworkStatsBeatPkLossPercentLow value.
vvc.NetworkStatsBeatPkLossPercentExtremeA percentage from 0 through 10025 Specifies the extreme packet loss threshold used to immediately identify POOR-quality BEAT and UDP networks. If the detected packet loss is greater than the extreme threshold, the network is automatically considered POOR and no other scoring calculations are made.
vvc.NetworkStatsBeatPkLossPercentWeightPercentA percentage from 0 through 10033 Specifies the statistical weight of the package loss value used to calculate the quality score for BEAT and UDP networks. Note: The combined value of vvc.NetworkStatsBeatRttMSWeightPercent, vvc.NetworkStatsBeatPkLossPercentWeightPercent, and vvc.NetworkStatsBeatRttvMSWeightPercent must equal 100.
vvc.NetworkStatsBeatRttvMSLowA positive integer1 Specifies the low RTTV threshold, in milliseconds, used to calculate the quality score for BEAT and UDP networks. The specified value must be less than the vvc.NetworkStatsBeatRttvMSHigh value.
vvc.NetworkStatsBeatRttvMSHighA positive integer30 Specifies the high RTTV threshold, in milliseconds, used to calculate the quality score for BEAT and UDP networks. The specified value must be greater than the vvc.NetworkStatsBeatRttvMSLow value.
vvc.NetworkStatsBeatRttvMSWeightPercentA percentage from 0 through 10033 Specifies the statistical weight of the RTTV value used to calculate the quality score for BEAT and UDP networks. Note: The combined value of vvc.NetworkStatsBeatRttMSWeightPercent, vvc.NetworkStatsBeatPkLossPercentWeightPercent, and vvc.NetworkStatsBeatRttvMSWeightPercent must equal 100.

Was this page helpful?

Provide feedback for this topic

Was this topic helpful?

Please do not include any personal or confidential information.

Generating link…