Horizon Client は、リモート セッション中のネットワーク品質を監視し、遅延が大きいためにネットワークが不安定であることを検出した場合に通知メッセージを表示できます。ネットワーク遅延は、TCP 接続のラウンドトリップ時間 (RTT) と、BEAT および UDP 接続の RTT、パケット ロス、RTT バリエーション (RTTV) に基づいています。

Horizon Client の環境設定を使用して、これらの通知メッセージの表示を制御できます。不安定なネットワークを特定するために、Horizon Client で使用されるしきい値パラメータを構成することもできます。

ネットワーク通知の表示の構成

[VMware Blast] メニュー項目を使用して、ネットワーク通知メッセージの表示を制御できます。

  1. Horizon Client を開始します。
  2. メニュー バーから [VMware Horizon Client] > [環境設定] の順に選択し、[VMware Blast] をクリックします。
  3. ネットワークが不安定な場合の通知の表示を構成します。
    • ネットワーク通知をオンにするには、[ネットワーク状態の表示を無効にする] オプションの選択を解除します。デフォルトでは、このオプションは選択解除され、通知の表示が許可されます。
    • ネットワーク通知をオフにするには、[ネットワーク状態の表示を無効にする] オプションを選択します。

Horizon Client によるネットワーク品質の判断方法

ネットワーク接続の品質を判断するために、Horizon Client は、指定された時間間隔中のネットワーク条件を下限しきい値と上限しきい値のペアと比較し、0 ~ 100% の範囲で品質スコアを計算します。スコアが一定のパーセンテージを下回ると、ネットワークは高遅延で不安定とみなされます。

Horizon Client は、使用中のネットワーク プロトコルに応じて次のネットワーク条件を測定します。

表 1. Horizon Client で測定されたネットワーク要因
プロトコル 測定条件
TCP
  • RTT
BEAT または UDP
  • RTT
  • パケット ロス
  • RTT バリエーション(RTTV またはジッター)

Horizon Client は、次のルールを使用してネットワーク品質スコアを計算します。

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 は次のルールを使用してネットワークの安定性を判断します。

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.

ネットワーク品質のしきい値パラメータの構成

Horizon Client で使用されるしきい値パラメータをカスタマイズしてネットワーク品質スコアを計算し、ネットワークの安定性を判断するには、次のいずれかの構成ファイルでキーを構成します。

  1. グローバル設定:/Applications/VMware Horizon Client.app/Contents/Resources/VMware RemoteMKS.app/Contents/MacOS/vmware-remotemks/Contents/Library/settings
  2. ユーザー環境設定:/Users/<user>/Library/Preferences/VMware Horizon View/preferences
  3. ユーザーのデフォルト:/Users/<user>/Library/Preferences/VMware Horizon View/config
  4. ホストのデフォルト:/Library/Application Support/VMware Horizon View/config
  5. サイトのデフォルト:/Applications/VMware Horizon Client.app/Contents/Resources/VMware RemoteMKS.app/Contents/MacOS/vmware-remotemks/Contents/Library/config

Horizon Client は、指定された順序で構成ファイルを検索し、構成済みの値を持つキーが見つかるとすぐに停止します。

注: これらの構成キーのデフォルト値を変更する場合は注意が必要です。デフォルトのしきい値は、広範な内部テストによって決定されたもので、一般的なネットワーク環境に対して合理的な結果を生み出すように設計されています。
表 2. ネットワーク品質の構成キー

構成キー

使用可能な値 デフォルト値 説明
vvc.NetworkStatsCheckEnabled 0、1 1

ネットワーク品質スコアを計算するためにネットワーク データの処理を有効にするかどうかを指定します。

  • ネットワーク データの処理を有効にしてネットワーク品質スコアを計算する場合は 1 を指定します。
  • ネットワーク データの処理を無効にする場合は 0 を指定します。Horizon Client は、ネットワーク品質の監視やネットワーク品質スコアの計算を行いません。
vvc.NetworkStatsCheckPeriodSec 2 より大きい正の整数 15 ネットワーク条件を監視する時間間隔を秒単位で指定します。
vvc.NetworkStatsQualityScoreTcpThresholdGood 0 ~ 100 の数字 85

TCP ネットワークの品質が良好であることを示すために必要な最小スコアを指定します。

指定した値は、 vvc.NetworkStatsQualityScoreTcpThresholdPoor 値よりも大きくする必要があります。

vvc.NetworkStatsQualityScoreTcpThresholdPoor 0 ~ 100 の数字 40

TCP ネットワークの品質が低いことを示すスコア範囲の上限を指定します。

指定した値は、 vvc.NetworkStatsQualityScoreTcpThresholdGood 値よりも小さくする必要があります。

vvc.NetworkStatsQualityScoreBeatThresholdGood 0 ~ 100 の数字 75

BEAT および UDP ネットワークの品質が良好であることを示すために必要な最小スコアを指定します。

指定する値は、 vvc.NetworkStatsQualityScoreBeatThresholdPoor 値よりも大きくする必要があります。

vvc.NetworkStatsQualityScoreBeatThresholdPoor 0 ~ 100 の数字 45

BEAT および UDP ネットワークの品質が低いことを示すスコア範囲の上限を指定します。

指定した値は、 vvc.NetworkStatsQualityScoreBeatThresholdGood 値よりも小さくする必要があります。

vvc.NetworkStatsTcpRttMSLow 任意の正の整数 2

TCP ネットワークの品質スコアの計算に使用される低 RTT しきい値をミリ秒単位で指定します。

指定した値は、 vvc.NetworkStatsTcpRttMSHigh 値よりも小さくする必要があります。

vvc.NetworkStatsTcpRttMSHigh 任意の正の整数 400

TCP ネットワークの品質スコアの計算に使用される高 RTT しきい値をミリ秒単位で指定します。

指定した値は、 vvc.NetworkStatsTcpRttMSLow 値よりも大きくする必要があります。

vvc.NetworkStatsTcpRttMSWeightPercent 0 ~ 100 のパーセンテージ 100

TCP ネットワークの品質スコアの計算に使用される RTT 値の統計ウェイトを指定します。

注: TCP ネットワークの品質を判断するために現在使用されているネットワーク要因は RTT のみであるため、このキーは 100 に設定する必要があります。
vvc.NetworkStatsBeatRttMSLow 任意の正の整数 2

BEAT および UDP ネットワークの品質スコアの計算に使用される低 RTT しきい値をミリ秒単位で指定します。

指定する値は、 vvc.NetworkStatsBeatRttMSHigh 値よりも小さくする必要があります。

vvc.NetworkStatsBeatRttMSHigh 任意の正の整数 400

BEAT および UDP ネットワークの品質スコアの計算に使用される高 RTT しきい値をミリ秒単位で指定します。

指定した値は、 vvc.NetworkStatsBeatRttMSLow 値よりも大きくする必要があります。

vvc.NetworkStatsBeatRttMSExtreme 任意の正の整数 250

品質の低い BEAT および UDP ネットワークをすぐに識別するために使用される極端な RTT しきい値をミリ秒単位で指定します。

検出された RTT が極端なしきい値を超えると、ネットワークは自動的に低品質と見なされ、他のスコア計算は行われません。

vvc.NetworkStatsBeatRttMSWeightPercent 0 ~ 100 のパーセンテージ 34

BEAT および UDP ネットワークの品質スコアの計算に使用される RTT 値の統計ウェイトを指定します。

注: vvc.NetworkStatsBeatRttMSWeightPercent、vvc.NetworkStatsBeatPkLossPercentWeightPercent、および vvc.NetworkStatsBeatRttvMSWeightPercent の合計値は 100 にする必要があります。
vvc.NetworkStatsBeatPkLossPercentLow 0 ~ 100 のパーセンテージ 0.1

BEAT および UDP ネットワークの品質スコアの計算に使用される低パケット ロスしきい値を指定します。

指定する値は、 vvc.NetworkStatsBeatPkLossPercentHigh 値よりも小さくする必要があります。

vvc.NetworkStatsBeatPkLossPercentHigh 0 ~ 100 のパーセンテージ 15

BEAT および UDP ネットワークの品質スコアの計算に使用される高パケット ロスしきい値を指定します。

指定した値は、 vvc.NetworkStatsBeatPkLossPercentLow 値よりも大きくする必要があります。

vvc.NetworkStatsBeatPkLossPercentExtreme 0 ~ 100 のパーセンテージ 25

品質の低い BEAT および UDP ネットワークをすぐに識別するために使用される極端なパケット ロスしきい値を指定します。

検出されたパケット ロスが極端なしきい値を超えると、ネットワークは自動的に低品質と見なされ、他のスコア計算は行われません。

vvc.NetworkStatsBeatPkLossPercentWeightPercent 0 ~ 100 のパーセンテージ 33

BEAT および UDP ネットワークの品質スコアの計算に使用されるパッケージ ロス値の統計ウェイトを指定します。

注: vvc.NetworkStatsBeatRttMSWeightPercent、vvc.NetworkStatsBeatPkLossPercentWeightPercent、および vvc.NetworkStatsBeatRttvMSWeightPercent の合計値は 100 にする必要があります。
vvc.NetworkStatsBeatRttvMSLow 任意の正の整数 1

BEAT および UDP ネットワークの品質スコアの計算に使用される低 RTTV しきい値をミリ秒単位で指定します。

指定した値は、 vvc.NetworkStatsBeatRttvMSHigh 値よりも小さくする必要があります。

vvc.NetworkStatsBeatRttvMSHigh 任意の正の整数 30

BEAT および UDP ネットワークの品質スコアの計算に使用される高 RTTV しきい値をミリ秒単位で指定します。

指定した値は、 vvc.NetworkStatsBeatRttvMSLow 値よりも大きくする必要があります。

vvc.NetworkStatsBeatRttvMSWeightPercent 0 ~ 100 のパーセンテージ 33

BEAT および UDP ネットワークの品質スコアの計算に使用される RTTV 値の統計ウェイトを指定します。

注: vvc.NetworkStatsBeatRttMSWeightPercent、vvc.NetworkStatsBeatPkLossPercentWeightPercent、および vvc.NetworkStatsBeatRttvMSWeightPercent の合計値は 100 にする必要があります。