How to Interact with a Whois++ Mesh
RFC 1914

Document Type RFC - Historic (February 1996; No errata)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 1914 (Historic)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                       P. Faltstrom
Request for Comments: 1914              Bunyip Information Systems, Inc.
Category: Standards Track                                    R. Schoultz
                                                                  KTHNOC
                                                               C. Weider
                                        Bunyip Information Systems, Inc.
                                                           February 1996

                  How to Interact with a Whois++ Mesh

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

1. Overview

   In the Whois++ architecture [Deutsch94],[Weider94], mesh traversal is
   done by the client, since each server 'refers' the client to the next
   appropriate server(s). The protocol is simple. The client opens a
   connection to a  server, sends a query, receives a reply, closes the
   connection, and after parsing the  response the client decides which
   server to contact next, if necessary.

   So, the client needs to have an algorithm to follow when it interacts
   with the Whois++ mesh so that referral loops can be detected, cost is
   minimised, and appropriate servers are rapidly and effectively
   contacted.

Faltstrom, et al            Standards Track                     [Page 1]
RFC 1914          How to Interact with a Whois++ Mesh      February 1996

2. Basic functionality

   Each Whois++ client should be configured to automatically send
   queries to a specific Whois++ server. The deault Whois++ server can
   vary depending on which template is desired, and the location of the
   client with respect to the WHOIS++ index mesh,  but as a rule the
   server should be as local as possible.

                        A
                       / \
                      B   C
                     / \   \
           Z -----> D   E   F
                   / \
                  G   H

       Fig 1: The client Z is configured to first query server D

   After getting responses from a server, the client can act in several
   ways. If the number of hits is greater than zero, the response is
   just presented to the user. If the client gets one or many servers-
   to-ask answers, the client should be able to automatically resolve
   these pointers, i.e. query these servers in turn.

                        A
                       / \
                      B   C
                     / \   \
           Z <----- D   E   F
             \     / \
              --> G   H

   Fig 2: The client Z gets a "servers-to-ask G" response from D and
             therefore may automatically queries server G.

3. How to navigate in the mesh

   A client can use several different strategies when traversing or
   navigating around in the mesh. The automatic way of doing this is to
   just "expand the search" (described in 3.1) and a second method is to
   use the "Directory of Servers" (described in 3.2).

3.1. Expansion of searches

   If the number of hits is zero, or if the user in some way wants to
   expand the search, it is recommended for the client to issue a
   'polled-by' and 'polled-for' query to the server. The client can then
   repeat the original query to the new servers indicated.

Faltstrom, et al            Standards Track                     [Page 2]
RFC 1914          How to Interact with a Whois++ Mesh      February 1996

                        A
                       / \
              /-----> B   C
             /       / \   \
           Z <----- D   E   F
                   / \
                  G   H

 Fig 3: The client Z gets a "polled-by B" response from D and therefore
                           queries server B.

   The client must always keep track of which servers it has queried
   because it must itself detect loops in the mesh by not querying the
   same server more than once.

                        A
                       / \
                   /- B   C
                  /  / \   \
           Z <---/  D   E   F
                   / \
                  G   H

  Fig 4: The client Z gets a "servers-to-ask D" response from B but Z
    does not query D because the server D has already been queried.

   So, the default expansion of a query by a client causes increasingly
   more comprenhensive index servers to be queried; the forward
   knowledge contained in the index server mesh allows rapid pruning of
   these larger trees.

   All loop detection and elimination is done in the client, rather than
   in the server mesh. This decision was made because loop detection and
   elimination are quite difficult to build into the mesh if we are to
Show full document text