Re: Annotations, sets, & servers, and redirects

> From: gramlich@riesling.eng.sun.com (Wayne C. Gramlich)

> > Another way to put this is that annotation hot spots will happen, but
> > solutions to it are orthogonal to the protocol. 

> As long as the annotation sets are relatively small and you can
> build a single server that can meet all requests, I agree with
> the premise of not exposing the structure of annotation sets.

Now that I think about it some more, it is not necessary to expose the
structure of annotation sets in order to achieve the objective of
distributing the serving of annotations across several servers.  

The orthogonal route of assuming there is a distributed file system
under the single server does not help the server much since it needs to
respond to just as many queries.  

The solution I am thinking of is that the first server would inform clients
that for a particular subset of documents (identified by URLs or URL
patterns), another server may be contacted directly.  The primary server
may continue to handle all annotation requests by forwarding them to the
appropriate server, thus acting as a proxy.  Or it may refuse to respond
to such requests thus forcing clients to wise up.

I think this is basically the idea that Wayne was suggesting, and I
don't see how it exposes the internal structure.

This is very similar to how we were thinking of distributing other services
associated with a server, such as link management, metadata access, and
searching.  Clients would request a table of services (as a list of
method names, for example) and for each service, another server might
be named that would handle requests directly.  In the case of distributing
the serving of annotations, the primary annotation server would tell
clients that services to fetch annotations that match some pattern (the
pattern of the URLs) are served elsewhere.  

Perhaps the easiest way to do this is to generalize redirects to say that
in addition to a particular redirect, any other request that matches
some pattern specified in another header line (Redirect?) is similarly
redirected.  Roy, are you getting this?