サービスロケーションプロトコルの管理

デフォルトのタイムアウトの変更

ネットワークの応答時間が長いと、UA および SA が要求と登録を行う場合、応答を受け取る前にタイムアウトになる原因になります。複数のサブネット、ダイアルアップ回線、または WAN によって UA が SA から切り離されている場合、あるいは UA と SA の両方が DA から切り離されている場合は、応答時間が問題となることがあります。応答時間が問題となっているかどうかを判断するには、UA および SA が要求および登録でタイムアウトになっているかどうか、および SLP 要求が失敗しているかどうかを確認するか、ping を使用して実際の応答時間を測定します。

タイムアウトを制御する構成プロパティのセットは、次のとおりです。

マルチキャストサービスの検出中または DA の検出中に頻繁にタイムアウトが発生する場合は、net.slp.multicastMaximumWait プロパティをデフォルト値の 15000 ミリ秒 (15 秒) から増やしてください。最大待ち時間を長くすることにより、応答時間の長いネットワーク上で要求に対してより長い時間が許可されます。このプロパティの値を増やした後は、net.slp.multicastTimeouts および net.slp.DADiscoveryTimeouts リストも変更して、リストのタイムアウトの整数値の合計が net.slp.multicastMaximumWait 値と等しくなるようにしてください。

たとえば、マルチキャスト要求が完了するまでに、15 秒ではなく 20 秒 (20000 ミリ秒) かかると判断したとします。次に示すプロパティ構成は、最大待ち時間およびマルチキャストのタイムアウトのリストを変更します。


net.slp.multicastMaximumWait=20000
net.slp.multicastTimeouts=2000,5000,6000,7000
net.slp.DADiscoveryTimeouts=3000,3000,6000,8000

ネットワークの応答時間が短い場合は、net.slp.multicastMaximumWait の構成値および 2 つのマルチキャストのタイムアウトのリスト内の値を小さくして、待ち時間を短縮できます。

これと同じ手順が、UDP データグラムを DA に送る場合のタイムアウトについて使用できます。ただし、DA のタイムアウトの上限が net.slp.datagramTimeouts リスト内の要素の合計で決定されていて、別のプロパティで決定されているのではない場合に限ります。UDP ダイアグラムは、応答を受け取るかタイムアウトの上限になるまで、繰り返し DA に対して送られます。頻繁にタイムアウトが発生する場合は、リストの値を増やすことができます。

たとえば、前述のように、頻繁なタイムアウトの発生を回避するために、データグラムタイムアウトの上限を 20000 ミリ秒に増やす必要があるとします。次のように構成すると達成できます。


net.slp.datagramTimeouts=2000,5000,6000,7000

高性能のネットワークでは、逆に UDP データグラム転送のマルチキャストまたはユニキャストについてのタイムアウトの上限を小さくするために、この手順を行うことができます。これにより、SLP 要求を満たす際に、応答時間を短縮できます。