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

SLP のアーキテクチャ

このセクションでは、SLP の基本的なオペレーション、SLP の構成部品、およびこれらの部品がエンタープライズに対して何を行うかについて説明します。SLP を使用することにより、次のことが可能になります。

SLP はこれらのサービスを自動的に行い、設定はほとんどあるいはまったく必要ありません。さらに、必要に応じて、管理を補助したり SLP のオペレーションを調整するよう SLP を設定したりすることができます。

たとえば、SLP のログ機構を有効にして、ネットワーク上の SLP オペレーションの監視および障害追跡が行えます。特定のプロパティを調整すると、エージェント間の SLP メッセージ交換のタイミングの同期をとることができます。さらに、SLP マルチキャストを禁止して、ネットワークの輻輳を軽減することができます。また、ディレクトリエージェントと呼ばれる SLP エージェントをエンタープライズ中に戦略的に配置することにより、サービスに対応することができます。これは、スコープと呼ばれるユーザーのグループを作成して、エンタープライズの必要に合うようにサービスの対応を調整することによって行います。

SLP 設計の概要

SLP では、各種ソフトウェアベースのエージェントは、ユーザーアプリケーションおよびネットワークサービスを表します。SLP はエンタープライズサービスの性質およびロケーションに関する情報を保持し、エンタープライズ上の SLP エンティティに関する情報は自動的に更新されます。さらに、プロキシ登録を使用すると、SLP は SLP 使用不可なサービスを通知することができます (第 7 章「レガシーサービスの組み込み」を参照)。

SLP エージェントとプロセス

表 1-1 では、SLP のフレームワークを構成するエージェントおよびプロセスについて説明します。

表 1-1 SLP エージェントとプロセス

ディレクトリエージェント

ディレクトリエージェント (DA) は、サービスエージェント (SA) が送ったサービス通知のキャッシュを保存し、保持するオプションの SLP エージェント。DA が配置された場合、DA がユーザーエージェント (UA) のサービス要求を解決する。DA は ディレクトリ通知に対して、SA および UA からの能動的な要請に応答する。したがって、SA および UA が 関連する DA およびスコープ (下記を参照) を検出する。DA は定期的に請求されていない通知を送るが、この通知を通して SA および UA は共有のスコープ内で DA を検出する。

サービスエージェント

サービスエージェント (SA) は、ネットワークサービスのサービス通知を保持する。DA が使用できない場合は、SA が UA からのサービス要求のマルチキャストに答える。DA が使用できる場合は、SA はそのスコープをサポートする DA にサービスを登録、あるいはオプションで登録解除する。 

ユーザーエージェント

ユーザーエージェント (UA) は、ユーザーアプリケーションおよびクエリの、対応するスコープ、ディレクトリエージェント、およびサービス通知を識別するために機能する。 

スコープ

スコープは、UA および SA を管理上、トポロジ上、あるいは別の組織化の方法でまとめたグループ。スコープを使用すると、エンタープライズを超えてサービスアクセスに対応する方法を調整できる (第 5 章「スコープの構成」を参照)。

SLP デーモン (slpd)

Solaris の SLP 実装において、slpd は DA サーバーあるいは SA サーバーのどちらかとして機能するデーモンプロセス。ホスト上でのサービス処理は、通知を個々に保持するのではなく、slpd を使用してサービス通知を登録する。これらのサービス処理には、slpd と通信し、SA サーバーとして機能する SA クライアントライブラリが含まれる。slpd はすべての登録および登録解除情報を DA に転送し、期限切れのサービス通知をタイムアウトにする。slpd はまた、能動的および受動的に DA を検出し、使用可能な DA の表を整備する。これらの仕組みを通して、DA の情報が UA クライアントに提供される。UA クライアントは DA 情報についてのみホスト上で slpd を使用する。各 SLP ホストは自動的に slpd デーモンを 1 つ持つ。オプションで slpd を DA として構成できる。

レガシーサービス

レガシーサービスは、SLP が使用不可なネットワークサービス。プロキシ登録がレガシーサービスのために作成されていれば、レガシーサービスがサポートされる。プロキシ登録を行うと、SLP 使用不可なサービスを SLP に登録できる。そうすると、SLP ベースのクライアントはレガシーサービスを検出できる (第 7 章「レガシーサービスの組み込み」を参照)。

サービス通知

サービス通知は、サービスを説明する、URL および、属性と値の対のリストの集合。すべてのサービス通知には有効期限がある。期限が切れると、サービス通知は再登録されない限り無効になる。 

サービス URL

サービス URL は、サービスのネットワークロケーションを通知するために使用される。サービス URL には、サービスタイプ名、ホスト名、あるいはサービスをホストしているシステムのネットワークアドレス、オプションのポート番号、およびサービスを使用するのに必要なその他の情報が含まれる。 

図 1-1 は、SLP アーキテクチャを実装する、基本的なエージェントおよびプロセスを示しています。

図 1-1 SLP の基本的なエージェントおよびプロセス

Graphic

図 1-1 は、構成がまったく行われていないデフォルトの SLP 配置でもあります。UA と SA という 2 つのエージェントだけが必要です。SLP フレームワークでは、UA が SA に対してサービスの要求をマルチキャストすることを許可しています。SA は通知しているサービスに対する要求を受け取ると、UA に対し、サービス通知を含む応答をユニキャストします。

図 1-2 は、フレームワークに DA が配置された場合の、SLP アーキテクチャを実装する基本的なエージェントおよびプロセスを示しています。

図 1-2 DA を使用して実装される SLP アーキテクチャのエージェントおよびプロセス

Graphic

より複雑なエンタープライズの場合、1 つ以上の DA が使用されます。DA は登録されたサービス通知のキャッシュの役割を果たします。SA は DA に対して、通知するすべてのサービスをリストした登録メッセージ (SrvReg) を送り、その応答として確認応答 (SrvAck) を受け取ります。サービス通知は DA によって更新されるか、通知に設定された有効期限に従って期限切れになります。UA がいったん DA を検出すると、UA は SA に対して要求をマルチキャストするのではなく、DA に要求をユニキャストします。

Solaris SLP メッセージについての詳細は、付録 A 「SLP のメッセージタイプ」 を参照してください。