Re: hangs/multiple servers

Tim Berners-Lee (timbl@www3.cern.ch)
Thu, 19 Nov 92 18:29:03 +0100


Date: Thu, 19 Nov 92 18:29:03 +0100
From: Tim Berners-Lee <timbl@www3.cern.ch>
Message-Id: <9211191729.AA00355@www3.cern.ch>
To: K.Hoadley@directory.rl.ac.uk
Subject: Re: hangs/multiple servers
Cc: www-talk@nxoc01.cern.ch

> Date: Thu, 19 Nov 1992 09:38:35 +0000 (GMT)
> From: Kevin Hoadley <K.Hoadley@directory.rl.ac.uk>

>  The simple way to provide multiple servers would be to
>  register the server name in the DNS with multiple A
>  (address) records pointing to different machines. Then
>  the clients could be mod'ed could try the second or third
>  ... addresses if they couldn't get through to the first.

Ok, This seems a bery good idea, if that is the functionality which DNS  
supports.
<practical>
Let's try it.... Anyone care to mod HTTP.c? It's not obvious from
the gethostbyname that one is allowed to refer to different
machines:
          struct    hostent {
               char *h_name;  /* official name of host */
               char **h_aliases;   /* alias list */
               int  h_addrtype;    /* host address type */
               int  h_length; /* length of address */
               char **h_addr_list; /* list of addresses from name server */
          };

That look like a list of aliases for one machine, rather than a
list of machines for one alias! But maybe the reverse will work.
So all machines support char **h_addr_list rather than the older
h_addr?   We can probably differentiate using #ifdef h_addr
which is set to a macro if there IS a list.  I assume you need then
separate entries for the virtual duplicate node and the actual
real nodes, so that you can speak to them sepately. Is this normal
and OK?
</practical>

>  How you keep info upto date accross multiple servers is
>  a different matter, need some form of replication a la
>  DNS zone transfers (or Quipu's extensions to X.500 ) ...
>  Mind you, replication within www is a harder issue: a
>  server might be sitting in front of datasets too large
>  to sensibly duplicate.
>  

>  Kevin Hoadley, Rutherford Appleton Laboratory
>