UCB (University of California Berkeley) における Ninja 研究プロジェクト (http://ninja.cs.berkeley.edu/) の成果の一部として,SSDS (Secure Service Discovery Service) がある.SSDS は,信頼性,スケーラビリティ,セキュリティなどの点において,先行する様々なサービス発見プロトコルを改良することによってえられたサービス・アーキテクチャである.
SSDS の実装は Java に依存しているが,XML を使用することによって他の言語やプラットフォームとの相互運用性を確保している.SSDS についてはつぎの論文に記述されている.
- S. E. Czerwinski, B. Y. Zhao, T. D. Hodes, A. D. Joseph, and R. H. Katz 著: An Architecture for a Secure Service Discovery Service, 5th Annual International Conference on Mobile Computing and Networking (Mobicom’99), 1999, http://ninja.cs.berkeley.edu/dist/papers/sds-mobicom.pdf.
SSDS におけるモデルの構成要素はつぎの 3 個である:
- クライアント
- サービス
- セキュア発見サービス (SDS)
SDS の利用可能性は SDS サーバからの一定間隔でのマルチキャストによってアナウンスされる.このマルチキャスト・メッセージには利用可能な SDS サーバの URI がふくまれている.複数の SDS サーバを階層的に組織することが可能であり,スケーラブルなアーキテクチャが実現されている.
SDS においては強いセキュリティが必須とされている.すなわち,すべての登場者の認証が求められ,すべてのメッセージが暗号化される.認証と暗号化の機能は Java RMI (Remote Method Invocation) を実装しなおすことによって実現されている.