An Architecture for a Secure Service Discovery Service
Czerwinski, et al
service discovery pervasive computing
@inproceedings{czerwinski:mobicom-1999,
title={An Architecture for a Secure Service Discovery Service},
author={Czerwinski, S.E. and Zhao, B.Y. and Hodes, T.D. and
Joseph, A.D. and Katz, R.H.},
booktitle={{ACM}/{IEEE} International Conference on Mobile
Computing and Networking ({Mobicom})},
pages={24--35},
year={1999},
organization={{ACM}}
}
Attach:Czerwinski-Mobicom1999.pdf
How to locate a service out of a wide area network of hundreds of thousands of nodes
Services described in ad hoc XML descriptions
Relatively straightforward XML template matching for querying
Differentiates between already running services, and those available on demand
Both push and pull based models
Must manage:
- Network partitions
- Component failures---meantime to failure with so many nodes is low
- Bandwidth limits
- Load balancing among the registries
All soft state
Registries organized into hierarchical structure
- Servers divide into network extents defined by IP address ranges
- Parents may start new servers if overloaded, restart children if they fail
Significant focus on security, authenticating servers, services, and clients
- Interesting aspect is private services: Only matched to queries from authorized clients
Registries discover each other and clients discover them over global multicast channel
- Advertisement includes local multicast to use to contact that registry
Does not really address how to develop the hierarchical structure
- Mentions it might be done by manual configuration, or external information such as location
- Discusses maintaining multiple hierarchies in parallel to address different top level topic areas, do some gross load balancing
Descriptions are hashed into Bloom filters which are then propagated up the
hierarchy, aggregated in the natural way
- Deletions handled by counting, or periodically wiping the table
Other systems:
- Jini matching based on Java object matching, which is not very flexible or efficient, and very prone to mismatches, e.g., minor version mismatches
- DNS gets its efficiency from the hierarchical, unique names structure
- SLP doesn't really address how to scale beyond the LAN, doesn't have a real structure to it