Date: Thu, 19 Nov 92 12:14:52 +0100 From: Tim Berners-Lee <timbl@www3.cern.ch> Message-Id: <9211191114.AA00242@www3.cern.ch> To: marca@ncsa.uiuc.edu (Marc Andreessen) Subject: Re: hangs/multiple servers Cc: www-talk@nxoc01.cern.ch > Also, is there any way to specify backup servers? Does anyone else > think this would be useful? Yes... it certainly would. First of all, the final solution seems to be to use a globally distributed replicated name server for documents or servers. Like x500 which isn't here yet. The name service would return multiple pointers. The client could chose intelligently which to try first. But we don't have that infrastructure yet. In the mean time, the question is where to put the information. In teh new HTTP protocol there are a number of objects which can be returned ateth protocol level (rather than the data level) which include error objects and forwards. A forward can contain multiple pointers. However, it doesn't help reliability much because the server which hold the forwarding info will be just as unreliable! So one considers putting the multiple URLs (addresses) into the link in the document. This smells too, because the positions of servers for different parts of the abstract document space will be constantly evolving, and so the links will be soon out of date, and that is grim for documents which may last 20 years... The next solution Rik just mentioned: > One possible way to implement backups is to have the client do it (makes > the client too clever?). The client could have a list of hosts, and for > each one, have a list of backup servers, to try if the main server is > down. The problem with this is that the list is much more difficult > to maintain, if everyone needs a copy, and only the clients that have > implemented this would benefit. But it is a simple stopgap. The way I would see doing it in practice would be to call the name translation rule module (HTRules.c) from the client as currently from the daemon httpd. The rules would be extended to include a "try" operator, like "map" but allowing continues processing of the rule file if the access failed. This would be useful in the server too... for example to pick up date from some remote mounted disk which is the original, but if that fails to use a cached copy updated last night. Tim