improving slp efficiency and extendability by using global attributes and preference filters

22
Improving SLP Improving SLP Efficiency and Efficiency and Extendability Extendability by Using by Using Global Global Attributes Attributes and and Preference Filters Preference Filters Weibin Zhao Henning Schulzrinne {zwb,hgs}@cs.columbia.edu Department of Computer Science Columbia University

Upload: ratana

Post on 14-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

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. Outline. Background Service discovery Service Location Protocol (SLP) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

Improving SLP Improving SLP Efficiency and Extendability Efficiency and Extendability

by Using by Using Global AttributesGlobal Attributes and and Preference FiltersPreference Filters

Weibin Zhao

Henning Schulzrinne{zwb,hgs}@cs.columbia.edu

Department of Computer Science

Columbia University

Page 2: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 2

OutlineOutline

Background Service discovery Service Location Protocol (SLP)

Two new mechanisms for SLP Global attributes Preference filters

Implementation Conclusions

Page 3: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 3

Service DiscoveryService 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

Page 4: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 4

Mechanisms and SystemsMechanisms and Systems

Mechanisms Directory services Multicast

Existing systems Jini: Sun (Java) UPnP: Microsoft (XML) SLP: IETF (IP) Salutation: Consortium (network independent)

Page 5: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 5

Service Location Protocol (SLP)Service Location Protocol (SLP) IETF standard for service discovery in IP networks

UA

SASA

UA SA

DA

multicast query

unicast query

UA: User Agent SA: Service Agent DA: Directory Agent

unicastregistration

Page 6: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 6

Motivating ExampleMotivating 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

Page 7: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 7

ObservationObservation

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

Page 8: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 8

Solution: Solution: Global AttributesGlobal 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)

Page 9: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 9

Attribute NamespaceAttribute 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

Page 10: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 10

Definition and UsageDefinition 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

Page 11: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 11

AdvantagesAdvantages 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

Page 12: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 12

Advanced DiscoveryAdvanced 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

Page 13: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 13

Motivating ExampleMotivating 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

Page 14: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 14

ObservationObservation

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

Page 15: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 15

Solution: Preference FiltersSolution: 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 Database Matched Service Preferred Service

Search Filter Preference Filter

Page 16: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 16

AdvantagesAdvantages

Reduce the amount of data transferred to the client Useful for low bandwidth channel

wireless

Better support thin clients Filter search results at server

Page 17: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 17

DesignDesign

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

Page 18: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 18

Selection FiltersSelection 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

Page 19: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 19

Sort FiltersSort 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:+)

Page 20: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 20

Generic Preference FiltersGeneric 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)

Page 21: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 21

ImplementationImplementation

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

Page 22: Improving SLP  Efficiency and Extendability  by Using  Global Attributes  and  Preference Filters

ICCCN'02 Zhao, Schulzrinne 22

ConclusionsConclusions

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