Service Location Protocol (SLP) の User Agent (UA) は、ユーザーに代わって作動し、ネットワーク・サービスとの接続を確立するプロセスです。UA は、Service Agent または Directory Agent からサービス情報を検索します。
UA は、クライアント・アプリケーション、またはネットワーク上で 1 つ以上のサービスのロケーションを検索しているユーザーと密接に関連する SLP のコンポーネントです。SLP UA を使用するには、まず SLP UA で検索するサービス・タイプを定義します。次に、SLP UA は、サービス URL (Uniform Resource Locator) およびサービス属性などの発見されたサービスのセットを検索します。その後は、サービスの URL を使用して、サービスに接続できます。
SLP UA は、ユーザーまたはクライアント・アプリケーションが指定したサービスの一般的な記述を基に、登録済みサービスの場所を検索します。通常、この記述は、サービス・タイプと任意のサービス属性で構成され、SLP Service Agent に登録されたサービス URL と突き合わされます。
SLP UA は、通常、クライアント・アプリケーションと同じプロセスで稼動しますが、同じプロセスでなくてもかまいません。SLP UA プロセスは、ネットワークにマルチキャスト・メッセージを送信し、単一の User Datagram Protocol (UDP) メッセージによってマルチキャスト範囲内にあるすべての SLP SA を対象とすることで、要求を検出します。したがって、SLP UA は、最低限のネットワーク・オーバーヘッドでこれらの SA を発見できます。SA は、サービス要求を受信すると、登録済みの独自のサービスと要求されたサービス・タイプおよびサービス属性 (指定されている場合) とを比較し、ユニキャストの応答メッセージを使用して突き合わせ結果を UA に戻します。SLP UA は、マルチキャストの収束アルゴリズムに従い、新しい応答が受信されなくなるまでマルチキャスト・メッセージを繰り返し送信します。サービス URL やサービス属性などの発見されたサービスの結果セットは、クライアント・アプリケーションまたはユーザーに戻されます。それから、クライアント・アプリケーションまたはユーザーは、サービスの URL を使用して必要に応じて個々のサービスと連絡を取ります。
図 10 は、SLP Device Agent (DA) を使用しない環境における SLP UA の相互作用を示しています。
SLP UA は、ネットワーク上に存在するすべての マッチングするサービスを発見しなければならないわけではなく、役に立つ結果を提供するのに十分なものだけでかまいません。この制限は、主に UDP パケットの伝送サイズ制限によるもので、登録されているサービスが多い場合、または登録されているサービスが長い URL や多くの属性を保持している場合には、この制限を超えることがあります。ただし、最近のほとんどの SLP インプリメンテーションでは、UA は、サービス応答が切り捨てられてい る場合、それを認識し、TCP 接続を確立して登録済みサービスのすべての情報を検索することができます。このタイプの UA および SA のインプリメンテーションを使用しても解決されない唯一の状況は、マルチキャスト範囲内に多くの SA がある場合で、これによりマルチキャスト収束メカニズムが切り詰められてしまう可能性があります。このような状況は、SLP 管理者が 1 つ以上の SLP DA をセットアップすることで軽減することができます。
関連トピック(C) Copyright International Business Machines Corporation 2004