Subject: Taxonomy Term closure needed

From: "Gary Tomlinson" <[email-masked]>
Date: Fri, 27 Aug 1999 12:56:27 -0600

Hello WREC'ers.

We've had a great deal of discussion these past two weeks concerning caching and replication.  I propose that we work on getting our core definitions completed now.  From these, we can move onto finishing up the taxonomic implementation and deployments based  upon these definitions.

First I suggest we break the defintions up into a small base set that are the most fundamental.  From the base set come the first and second derivatives that form all the core terms necessary to describe repliacation and caching implementations.   Included are a starting point for discussion. 

As we move from the terminology to the taxonimc discussions, please keep in mind the following:

Implementation and deployment that is broadly (or hopelessly depended upon) in the Internet today belongs in the taxonomy draft.

Current research and needed research belongs in the research draft. (Joe Touch Editor)

Known problems and implementation shortcomings of current implementation/deployment belong in the known issues draft (John Dilley Editor)

Here are the core terms as they stand today.  Feel free to add/subtract the core set.

Base Terms:
Client 
  Exactly adopted from RFC2616. Editors View - Consensus 
  "A program that establishes connections for the purpose of sending requests." 

Proxy
 A derived definition for RFC2616. Editors View - Consensus
 Editors Note: The term has been heavily debated within the WG.  Consensus
 is to override the definition in RFC2616.
 "An intermediary system which acts as both a server and a
  client for the purpose of making requests on behalf of
  other clients. Requests are serviced internally or by
  passing them on, with possible translation, to other
  servers. A proxy MUST implement both the client and server
  requirements of this specification. A "transparent proxy"
  is a proxy that does not modify the request or response
  beyond what is required for proxy authentication and
  identification. A "non-transparent proxy" is a proxy that
  modifies the request or response in order to provide some
  added service to the user agent, such as group annotation
  services, media type transformation, protocol reduction,
  or anonymity filtering. Except where either transparent or
  non-transparent behavior is explicitly stated, the HTTP
  proxy requirements apply to both types of proxies.

      Note:  The term "transparent proxy" given in [6] has different
             meaning within the Web caching community.  Further
             unspecified references in this document (including the
             following paragraph) are to the Web caching community
             definition, which is given later.

             The condition requiring implementation of both server and
             client requirements of HTTP/1.1 is only appropriate for a
             non-transparent proxy."

Replication
  Not defined.  Editors View - Open Disucssion
  Editors Note:  Amazingly enough, we can't find any definition for replication
  in any on-line RFC or draft.  Is it really intuitive.  We think not, since 
  there so much debate in the working group surrounding what is replication.

Server
  Exactly adopted from RFC2616. Editors View - Consensus
  "An application program that accepts connections in order to
   service requests by sending back responses. Any given program may
   be capable of being both a client and a server; our use of these
   terms refers only to the role being performed by the program for a
   particular connection, rather than to the program's capabilities
   in general. Likewise, any server may act as an origin server,
   proxy, gateway, or tunnel, switching behavior based on the nature
   of each request."

Surrogate
  Not defined  Editors View - Open Discussion
  Editors-Note: A fundemental concept to the web.  Surrogates act in behalf of 
  content publishers.  Examples of surrogates within the taxonomy are: Mirrors
  and accelerators.

First Derivative Terms: (Build upon base terms)
Cache
  A derived definition for RFC2616. Editors View - Open Disuccsion
  Editor-Notes: The most controversial term in the taxonomy. Is it dervived 
  from replication or is it a base term? 3 variants proposed need 
  rationalization.  There has been so many comments on each of the variant
  definitions, we would like the individuals to supply thier current concise
  definitions for dicussion.
  Current taxonomy definition
  "A program's local store of response messages and the
   subsystem that controls its message storage, retrieval, and
   deletion. A cache stores cacheable responses in order to
   reduce the response time, server load and network
   bandwidth consumption on future, equivalent requests. Any
   client or server may include a cache, though a cache
   cannot be used by a server while it is acting as a tunnel."

   Joe Touch's definition
     Joe can you supply your current definition?

   Wojtek Sylwestrzak's definition
     Wojtek can you supply your current definition?

   Misha Rabinovich's definition
      Misha can you supply your current definition?

   Ivan Lovric's definition
      Ivan can you supply your current definition?

Mirror
  Not defined. Editors View - Nees Discussion
  Editors-Note: An attempt at taxonomy has been made.  It is clear
  from discussion that a definition is in order.  The taxonomic variants
  can then be defined from it.

Origin Server
  Exactly adopted from RFC2616. Editors View - Consensus
  "The server on which a given resource resides or is to be created."

Reverse Proxy
  A new defintion.  Editors View - Open Discussion
  Editors-Note:  Differentiation from proxy is needed.
  "An intermediary system which acts as both a server and a
  client for the purpose of serving requests on behalf of
  origin servers. Requests are serviced internally or by
  passing them on to the origin server they are representing.
  A reverse proxy must interpret and, if necessary, rewrite a
  request message before forwarding it. Reverse proxies are
  often used as server-side portals through network firewalls
  and as helper applications for off loading requests from
  origin servers."

Second Derivative Terms: (Build upon first derivative terms)
Caching Proxy
  A new defintion.  Editors View - Consensus
  "A proxy with a cache, acting as server to clients, and
   a client to servers"

Caching Reverse Proxy (Accelerator)
  Not Defined.  Editors View - Needs Discussion
  Editors-Note: Do we need it?  Suggested definition
  "A reverse proxy with a cache, acting as server to clients, and
   a client to servers"

Replica Origin Server
  New definition. Editors View - Open Disussion
  Editors-Note:  In light of the recent disuccsion, the authoritative
  attribute is quiestionable.
  "origin server storing a persistent replica of a data set
   stored at the authoritative reference"

Surrogate Cache
  Not Defined.  Editors View - Needs Discussion
  Editors-Node:  Do we need it, or is it a role that is provided by proxies,
  reverse proxies and replica origin servers?

- Gary