1 / 22

Improving SLP Efficiency and Extendability by Using Global Attributes and Preference Filters

This paper explores two mechanisms, global attributes and preference filters, to improve the efficiency and extendability of the Service Location Protocol (SLP). It discusses their implementation and concludes with the advantages they bring to SLP.

meiners
Download Presentation

Improving SLP Efficiency and Extendability by Using Global Attributes and Preference Filters

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Outline • Background • Service discovery • Service Location Protocol (SLP) • Two new mechanisms for SLP • Global attributes • Preference filters • Implementation • Conclusions Zhao, Schulzrinne

  3. 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 Zhao, Schulzrinne

  4. Mechanisms and Systems • Mechanisms • Directory services • Multicast • Existing systems • Jini: Sun (Java) • UPnP: Microsoft (XML) • SLP: IETF (IP) • Salutation: Consortium (network independent) Zhao, Schulzrinne

  5. Service Location Protocol (SLP) • IETF standard for service discovery in IP networks UA UA SA multicast query unicast query unicast registration SA SA DA UA: User AgentSA: Service AgentDA: Directory Agent Zhao, Schulzrinne

  6. Motivating Example • Find all services that support SCTP • SCTP: Stream Control Transmission Protocol • Current SLP needs • Three steps • Use a SrvTypeRqst to get a service type list • Use a SrvRqst to query each service type • Combine query results together • N+1 queries • If there are N service types Zhao, Schulzrinne

  7. 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 Zhao, Schulzrinne

  8. 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) Zhao, Schulzrinne

  9. 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 Zhao, Schulzrinne

  10. 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 Zhao, Schulzrinne

  11. 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 Zhao, Schulzrinne

  12. 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 Zhao, Schulzrinne

  13. Motivating Example • Find a printer with the minimum queue length • Current SLP needs • Find all printers and their queue length attribute • Sort them based on the queue length attribute • Choose the printer with the minimum queue length Zhao, Schulzrinne

  14. 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 Zhao, Schulzrinne

  15. 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 Search Filter Preference Filter Service Database Matched Service Preferred Service Zhao, Schulzrinne

  16. 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 Zhao, Schulzrinne

  17. 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 Zhao, Schulzrinne

  18. 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 Zhao, Schulzrinne

  19. 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:+) Zhao, Schulzrinne

  20. 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) Zhao, Schulzrinne

  21. Implementation • SrvRqst processing • Global attributes • Multiple service types or a service type wildcard • Ignore service type information during the search • Discard those search results that do not match any specified service types • Preference filters • Ignore the filter during the search • Apply the filter to the search results Zhao, Schulzrinne

  22. 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 Zhao, Schulzrinne

More Related