Select and Sort Extensions for the Service Location Protocol (SLP)
RFC 3421

Document Type RFC - Experimental (November 2002; No errata)
Was draft-zhao-slp-customization (individual in int area)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 3421 (Experimental)
Telechat date
Responsible AD Thomas Narten
IESG note Published as RFC 3421
Send notices to <zwb@cs.columbia.edu>
Network Working Group                                            W. Zhao
Request for Comments: 3421                                H. Schulzrinne
Category: Experimental                               Columbia University
                                                              E. Guttman
                                                        Sun Microsystems
                                                            C. Bisdikian
                                                               W. Jerome
                                                                     IBM
                                                           November 2002

   Select and Sort Extensions for the Service Location Protocol (SLP)

Status of this Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This document defines two extensions (Select and Sort) for the
   Service Location Protocol (SLP).  These extensions allow a User Agent
   (UA) to request that the Uniform Resource Locator (URL) entries in a
   Service Reply (SrvRply) be limited to the specified number, or be
   sorted according to the specified sort key list.  Using these two
   extensions together can facilitate discovering the best match, such
   as finding a service that has the maximum speed or the minimum load.

1. Introduction

   This document defines two extensions (Select and Sort) for SLP
   [RFC2608].  These extensions allow a UA to request that the URL
   entries in a SrvRply be limited to the specified number, or be sorted
   according to the specified sort key list.  A Directory Agent (DA) or
   Service Agent (SA) that supports the Select and/or Sort extensions
   MUST include the attribute keyword "select-enabled" and/or "sort-
   enabled" in its advertisement (DAAdvert or SAAdvert).  A UA SHOULD
   check these attributes of the contacting DA/SA before it uses the
   Select and/or Sort extensions to query the DA/SA.

Zhao, et. al.                 Experimental                      [Page 1]
RFC 3421           Select and Sort Extensions for SLP      November 2002

   Using the Select extension, a UA can opt for finding just a few (not
   necessarily all) matching services, which is useful if the UA uses a
   low-bandwidth channel.  Using the Sort extension, a UA can ask the
   DA/SA to sort matching URL entries, which helps the UA to choose a
   service from multiple candidates.  Sorting by the server is more
   efficient than sorting by the client since for sorting purposes, the
   former does not need to pass the attributes of matching URLs to the
   client.  Furthermore, using the Select and Sort extensions together
   can facilitate discovering the best match, such as finding a service
   that has the maximum speed or the minimum load, or has a speed
   closest to a reference value.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted according to in BCP 14, RFC 2119
   [RFC2119].

2. Select Extension

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Select Extension ID = 0x4002  |  Next Extension Offset (NEO)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | NEO, cont'd   |      Number of URL Entries    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Figure 1. Select Extension

   The format of the Select extension is shown in Figure 1.  A UA uses
   this extension in a Service Request (SrvRqst) to limit the maximum
   number (say, n) of URL entries to be returned.  When a DA/SA receives
   a SrvRqst with a Select extension, it MUST use a Select extension in
   the corresponding SrvRply to indicate the total number (say, m) of
   matching URL entries if the DA/SA supports this extension, otherwise
   the DA/SA MUST set the error code in the corresponding SrvRply to
   OPTION_NOT_UNDERSTOOD [RFC2608].  If n < m, then only the first n
   matching URL entries are returned, else all m matching URL entries
   are returned.  As a special case, a UA may set n to zero to obtain
   the number of matching URL entries without retrieving the entries
   themselves.

   We denote a Select extension as Select(number).  Thus, Select(3)
   means that the corresponding SrvRply can have at most three URL
Show full document text