Simple Nomenclator Query Protocol (SNQP)
RFC 2259

Document Type RFC - Informational (January 1998; No errata)
Authors Joann Ordille  , Jim Elliott 
Last updated 2013-03-02
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 2259 (Informational)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                         J. Elliott
Request for Comments: 2259                      Epic Systems Corporation
Category: Informational                                       J. Ordille
                                          Bell Labs, Lucent Technologies
                                                            January 1998

                Simple Nomenclator Query Protocol (SNQP)

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

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


   The Simple Nomenclator Query Protocol (SNQP) allows a client to
   communicate with a descriptive name service or other relational-style
   query service.  The protocol is useful to services that search many
   data repositories for query responses.  Clients can pose queries on
   relations, list descriptions of relations, and obtain advice on
   reducing the search time and cost of their queries.  Clients are
   informed of the age of information in caches, and may request more
   recent information.  SNQP provides support for graphical user
   interfaces.  It also supports different types of comparison
   operators, so services can use SNQP with a variety of back-end
   servers, e.g. relational database servers, CCSO servers, and servers
   providing relational views of X.500.

   SNQP is an ASCII protocol in the request-reply style of SMTP.  It was
   specifically designed for use with the Nomenclator name and
   information service, and has been useful elsewhere.

1. Introduction

   The Simple Nomenclator Query Protocol (SNQP) is a protocol for
   querying servers that search collections of data repositories.  Users
   retrieve information from an SNQP server by describing attributes of
   the information.  SNQP servers contact one or many data repositories
   to retrieve the response to a user query.  If the data repositories

Elliott & Ordille            Informational                      [Page 1]
RFC 2259                          SNQP                      January 1998

   differ in protocol or data format, it is responsibility of the SNQP
   server to translate protocols and data formats to provide one,
   integrated answer to the user's query.

   SNQP servers share the protocol needs of centralized data
   repositories that answer queries with locally stored data.  SNQP
   servers also require specialized protocol features due to their
   distributed search characteristics.

   In highly distributed environments, it is unreasonable to expect all
   data repositories that need to be searched to be available when
   queries are posed.  SNQP servers require facilities for returning
   partial results in the presence of communications errors with data
   repositories.   The partial results must indicate how to resubmit the
   query only to those data repositories that are unavailable.

   In addition, users may pose queries without realizing the cost of the
   search for query responses.  SNQP provides facilities for informing
   users of query costs and advising them on limiting that cost.  Costs
   and advice are returned before queries are executed.

   Finally, SNQP servers may cache data and meta-data to speed query
   responses.  Servers can inform users of the t-bound for their query
   response.   A t-bound is the time after which changes may have
   occurred to the data that are not reflected in the query response
   [6,2].  A t-bound is the time of the oldest cache entry used to
   calculate the response.  Users can request that query responses are
   more current then a particular t-bound.  Making such a request
   flushes older items from the cache.

   SNQP provides support for graphical user interfaces.  It also
   supports different types of comparison operators, so SNQP servers can
   query a variety of back-end data repositories, e.g. relational
   databases, CCSO servers [3], and servers providing relational views
   of X.500 [10].

   SNQP is a connection-oriented protocol.  A client initiates a query
   session with an SNQP server by making a TCP connection to a well-
   known port.  The client then executes a series of SNQP commands.
   These commands are listed briefly in Table 1.  Section 2 provides
   some typical scenarios for using these commands, and Section 3
   describes the commands fully.  The server replies to each command
   using the theory of reply codes described for the Simple Mail
   Transfer Protocol (SMTP) [9]. The theory of reply codes and the
   defined reply codes are described in Section 4.

Elliott & Ordille            Informational                      [Page 2]
RFC 2259                          SNQP                      January 1998

      Command       Description
Show full document text