SLPの機能

ユーザエージェントおよびサービスエージェントは、クライアントアプリケーションおよびネットワークサービスに代わって、動的にネットワークサービスを検索します。


ユーザエージェントとサービスエージェントを使用し、ディレクトリエージェントは使用しない例

図 36」は、ネットワーク内にディレクトリエージェントが存在しないとき、サービスエージェントとユーザエージェントが相互に通信しながら実行する動作を示しています。ネットワークアプリケーションは起動すると、そのサービスURLと属性をサービスエージェントに登録します。サービスエージェントは、登録されたサービス情報のコピーをローカルサービスキャッシュに格納します。サービスエージェントは、その情報をネットワーク上にマルチキャストやブロードキャスト方式で自ら発信することはありません。

図 36
SLPユーザエージェントとサービスエージェントの相互通信

クライアントアプリケーションがユーザエージェントにネットワークサービスについて問い合わせると、ユーザエージェントは、サービス情報の検索のため、サービス要求をマルチキャスト方式で発信します。このサービス要求をサービスエージェントが受け取ると、ローカルのサービスキャッシュの中を探し、サービス要求に指定された条件に合ったサービスが格納されているか確認します。条件に合ったサービスが確認されると、要求されたサービス情報を持つサービスエージェントは、サービス応答をユーザエージェントにユニキャスト方式で送信します。

複数のサービスエージェントから応答があった場合、ユーザエージェントは応答を結合し、その結果をクライアントアプリケーションに送信します。サービス種別と属性の要求の場合も、同様の処理が行われます。ネットワークサービスは、その終了時にサービスエージェントにサービス登録の解除を依頼します。サービスエージェントは、この依頼を受け、ローカルサービスキャッシュからサービス情報を削除します。サービスエージェントは再び待機状態に入ります。


ユーザエージェント、サービスエージェント、およびディレクトリエージェントを使用した例

図 37」は、サービスエージェントとユーザエージェントがディレクトリエージェントと通信しながらネットワークサービスの通知と検索を行う方法を示しています。ネットワークアプリケーションは起動すると、そのサービスURLと属性をサービスエージェントに登録します。サービスエージェントは、サービス情報のコピーを保持しており、サービス登録メッセージ(新しいサービス情報が設定されています)をユニキャスト方式でディレクトリエージェントに送信します。ディレクトリエージェントは、送信されてきたサービス情報をそのローカルサービスキャッシュに保管します。

図 37
SLPディレクトリエージェントとの関係

クライアントアプリケーションがユーザエージェントにネットワークサービスについて問い合わせると、ユーザエージェントは、サービス情報の検索のため、サービス要求をディレクトリエージェントに対してユニキャスト方式で発信します。ディレクトリエージェントは、要求されたサービスURLの設定されたサービス応答を返します。要求されたサービスが利用できない場合には、その通知を返します。サービス種別要求および属性要求の場合も、ユーザエージェントとディレクトリエージェントが実行する処理は同じです。

ネットワークサービスは、その終了時にサービスエージェントにサービス登録の解除を依頼します。サービスエージェントは、この依頼を受け、ローカルサービスキャッシュからサービス情報を削除して、サービス登録解除要求をディレクトリエージェントに送信します。ディレクトリエージェントは、指示されたサービス情報を、そのサービスキャッシュから削除します。