<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Le 02/06/2016 à 09:42, Markus
Demleitner a écrit :<br>
</div>
<blockquote cite="mid:20160602074226.GA23942@victor" type="cite">
<pre wrap="">You can do this because you basically have one machine to deal with.
When a registry query yields 20 different services, the picture
changes.
In GLU, is the only mirror metadata you have the base URL?
</pre>
</blockquote>
<p>No, we can describe any kind of URLs. Sometimes the base URL can
differ from one site to another depending of the HTTP
configuration (not always in our control). For more details, I
need to describe a little bit more the GLU (sorry). The GLU
describes mirrors thanks to 2 complementary methods:</p>
<p><b>0) First of all, a GLU record is basically just a couple
(ID,URL) <br>
</b></p>
<p><tt>%A Simbad</tt><tt><br>
</tt><tt>%U <a class="moz-txt-link-freetext" href="http://simbad.u-strasbg.fr/sim-id">http://simbad.u-strasbg.fr/sim-id</a></tt><br>
</p>
<p><b>1) Or mirror can be defined by a n-uplet (ID, id1,id2,id3...)
and the URL associated to the ID can be one of the URLs
associated to id1, id2,...) => Mirror definition by
indirection</b><br>
</p>
<p><tt>%A Simbad</tt><tt><br>
</tt><tt>%I <font color="#009900">Simbad.fr</font></tt><tt><br>
</tt><tt>%I <font color="#000099">Simbad.us</font></tt><tt><br>
</tt></p>
<p><tt>%A <font color="#009900">Simbad.fr</font></tt><tt><br>
</tt><tt>%U <a class="moz-txt-link-freetext" href="http://simbad.u-strasbg.fr/sim-id">http://simbad.u-strasbg.fr/sim-id</a></tt></p>
<p><tt>%A <font color="#000099">Simbad.us</font></tt><tt><br>
</tt><tt>%U <a class="moz-txt-link-freetext" href="http://simbad.harvard.fr/localpath/sim-id">http://simbad.harvard.fr/localpath/sim-id</a></tt></p>
<p><b>2) or a couple (ID, URL_template_containing_GLUids) => The
final URL is built recursively => Mirror definition by
recursion</b></p>
<p><tt>%A Simbad</tt><tt><br>
</tt><tt>%U <&</tt><tt><font color="#cc6600">SimbadRoot</font></tt><tt>>/sim-id</tt></p>
<p><tt>%A Simbad-by-list</tt><tt><br>
</tt><tt>
%U <&</tt><tt><font color="#cc6600">SimbadRoot</font></tt><tt>>/sim-list</tt></p>
<tt>
</tt>
<p><tt>%A</tt><tt><font color="#cc6600"> SimbadRoot</font></tt><tt><br>
</tt><tt>
%I </tt><tt><font color="#006600">SimbadRoot.fr</font></tt><tt><br>
</tt><tt>
%I </tt><tt><font color="#000099">SimbadRoot.us</font></tt><tt><br>
</tt>
</p>
<tt>
</tt>
<p><tt>%A</tt><tt><font color="#006600"> SimbadRoot.fr</font></tt><tt><br>
</tt><tt>
%U <a class="moz-txt-link-freetext" href="http://simbad.u-strasbg.fr">http://simbad.u-strasbg.fr</a></tt></p>
<tt>
</tt>
<p><tt>%A </tt><tt><font color="#000099">SimbadRoot.us</font></tt><tt><br>
</tt><tt>
%U <a class="moz-txt-link-freetext" href="http://simbad.harvard.fr">http://simbad.harvard.fr</a></tt></p>
<p>The resolution of the final URL for a given ID can be done by the
final client. It is the best solution to find the appropriate
mirror site according to the user netword localization and the
current state of the mirrors. It can also be done by the GLU
server which provides the GLU records for a "basic" client (8
sites distributed over the world) - in this last case, only the
recent asked GLU records (15 days) for a dedicated GLU server will
be taken into account in its test loop. The delay between two
tests depends of the GLU server configuration (default 1h) which
can be overriden by a dedicated delay defined in each GLU record
itself (for instance 10mn for Sesame)<br>
</p>
<p>ex: URL resolution of Simbad from UK GLU site<br>
=>
<a class="moz-txt-link-freetext" href="http://archive.ast.cam.ac.uk/viz-bin/nph-glu.pl">http://archive.ast.cam.ac.uk/viz-bin/nph-glu.pl</a>?<&Simbad,u></p>
<p>ex: URL resolution of VizieR README page for II/250 catalog from
Japan GLU site<br>
=>
<a class="moz-txt-link-freetext" href="http://vizier.nao.ac.jp/viz-bin/nph-glu.pl">http://vizier.nao.ac.jp/viz-bin/nph-glu.pl</a>?<&VizDetail,u
II/250></p>
<p>In the first case (client side URL resolution), for Aladin
Desktop, I cache the last resolution results in order to keep a
fast launch time, and redo the test in background during the time
of the Aladin session (only if the last result is too old (one
day)). If one last result URL does not work (network problem,
server crash...), the test is redo immediately to find a better
site (crash backup). If the time response of a test is sensible
the same between 2 mirror sites, Aladin chooses one randomly (load
balancing). We have about 500 Aladin sessions per day and 300 000
http queries generated by these sessions. Find the best mirror
site is definitively a good idea.<br>
</p>
<p>Cheers<br>
Pierre<br>
</p>
</body>
</html>