Download presentation
Presentation is loading. Please wait.
Published byAbel Caldwell Modified over 9 years ago
1
Improving SLP Efficiency and Extendability by Using Global Attributes and Preference Filters Weibin Zhao Henning Schulzrinne {zwb,hgs}@cs.columbia.edu Department of Computer Science Columbia University
2
ICCCN'02 Zhao, Schulzrinne2 Outline Background Service discovery Service Location Protocol (SLP) Two new mechanisms for SLP Global attributes Preference filters Implementation Conclusions
3
ICCCN'02 Zhao, Schulzrinne3 Service Discovery What is service discovery Service description framework Services advertise their properties Clients specify their queries Discovery A match of a client query with a service advertisement Service properties description service access point (URL) Why do we need service discovery Zero-configuration, plug and play Adapt to changes of service availability
4
ICCCN'02 Zhao, Schulzrinne4 Mechanisms and Systems Mechanisms Directory services Multicast Existing systems Jini: Sun (Java) UPnP: Microsoft (XML) SLP: IETF (IP) Salutation: Consortium (network independent)
5
ICCCN'02 Zhao, Schulzrinne5 Service Location Protocol (SLP) IETF standard for service discovery in IP networks UA SA UASA DA multicast query unicast query UA: User Agent SA: Service Agent DA: Directory Agent unicast registration
6
ICCCN'02 Zhao, Schulzrinne6 Motivating Example Find all services that support SCTP SCTP: Stream Control Transmission Protocol Current SLP needs Three steps (1) Use a SrvTypeRqst to get a service type list (2) Use a SrvRqst to query each service type (3) Combine query results together N+1 queries If there are N service types
7
ICCCN'02 Zhao, Schulzrinne7 Observation Current SLP Service type based discovery Service type: printer Service properties: color, speed, resolution, etc. Service URL New requirement Discovery across multiple or all service types
8
ICCCN'02 Zhao, Schulzrinne8 Solution: Global Attributes Template Standardize attributes Service template for each service type Different service types have different attributes Local attributes: specific to a service type printer-resolution Attribute template for all services Global attributes: applicable to all service types transport-protocol (e.g., TCP, UDP, SCTP)
9
ICCCN'02 Zhao, Schulzrinne9 Attribute Namespace Why do we need namespace? An attribute in current SLP Name is unique only within its service type Being defined and used along with its service type When global attributes are used Possible name collisions between global and local attributes How to define namespace? Use service type as prefix nrsm-capacity, iptel-gw-capacity Use “service-” prefix for global attributes service-transport-protocol
10
ICCCN'02 Zhao, Schulzrinne10 Definition and Usage Definition: attribute template Each template defines one or more attributes Being imported into service templates Usage: in SrvRqst When local attributes are used Exact one service type is specified When only global attributes are used Multiple service types or a service type wildcard can be specified
11
ICCCN'02 Zhao, Schulzrinne11 Advantages Improve SLP efficiency Defined once, imported afterwards Consistent definition and usage Use one query to find services of multiple types Extend SLP functionality Current SLP Standardized: service URL, service type, service scope Other attributes: attribute list Standardize global attributes Service identifier: unique & persistent, identify a service Device identifier: unique & persistent, identify a device
12
ICCCN'02 Zhao, Schulzrinne12 Advanced Discovery Use service identifier to support URL changes Multi-protocol services service:printer:ipp://mpp.example.com service:printer:lpr://mpp.example.com Use device identifier to support Multi-function device A scanning and printing device Use both to support Replicated service Same service identifier, different device identifiers
13
ICCCN'02 Zhao, Schulzrinne13 Motivating Example Find a printer with the minimum queue length Current SLP needs (1) Find all printers and their queue length attribute (2) Sort them based on the queue length attribute (3) Choose the printer with the minimum queue length
14
ICCCN'02 Zhao, Schulzrinne14 Observation Current SLP Server does not process search results Return ALL matched URLs No specific order Client needs to select one among multiple choices New requirement Process search results Limit the number of results returned Sort the results Find the best match
15
ICCCN'02 Zhao, Schulzrinne15 Solution: Preference Filters Search filters Compared with a specify value equal, greater than, less than Preference filters Compared with each other min, max, sort, selection Service DatabaseMatched ServicePreferred Service Search FilterPreference Filter
16
ICCCN'02 Zhao, Schulzrinne16 Advantages Reduce the amount of data transferred to the client Useful for low bandwidth channel wireless Better support thin clients Filter search results at server
17
ICCCN'02 Zhao, Schulzrinne17 Design Basic preference filters Selection filters SLP selection extension Sort filters SLP sort extension Generic preference filters Compose basic filters A sequence of SLP selection and sort extensions
18
ICCCN'02 Zhao, Schulzrinne18 Selection Filters select(N) Assume M search results, if N<M, then return first N results, else return all M results Server indicates the number (i.e., M) of search results in its reply. Examples select(1) select(3) select(0) Obtain the number of search results without retrieving the results themselves
19
ICCCN'02 Zhao, Schulzrinne19 Sort Filters sort(sort-key-list) sort-key = key-name : type : ordering : [ref-value] type: integer (i) or string (s) ordering: increasing (+) or decreasing (-) reference value: optional, for integer only sort based on the distance to the reference value Examples sort(load:i:+) sort(speed:i:+:12) sort(speed:i:-,load:i:+) sort (identifier:s:+)
20
ICCCN'02 Zhao, Schulzrinne20 Generic Preference Filters Best match Minimum load sort(load:i:+),select(1) Maximum speed sort(speed:i:-),select(1) The speed closest to a reference value 12 sort(speed:i:+:12),select(1) The minimum load among top three in terms of speed sort(speed:i:-),select(3),sort(load:i:+),select(1)
21
ICCCN'02 Zhao, Schulzrinne21 Implementation SrvRqst processing Global attributes Multiple service types or a service type wildcard (1) Ignore service type information during the search (2) Discard those search results that do not match any specified service types Preference filters (1) Ignore the filter during the search (2) Apply the filter to the search results
22
ICCCN'02 Zhao, Schulzrinne22 Conclusions Simple but useful mechanisms Extend SLP attributes from local to global Enable generic preference filtering on search results General applicability The rationale behind these mechanisms can be applied to other service discovery systems as well IETF standardization The draft on SLP selection and sort extension has been approved as an experimental RFC
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.