<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,...) =&gt; 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) =&gt; The
        final URL is built recursively =&gt; Mirror definition by
        recursion</b></p>
    <p><tt>%A Simbad</tt><tt><br>
      </tt><tt>%U &lt;&amp;</tt><tt><font color="#cc6600">SimbadRoot</font></tt><tt>&gt;/sim-id</tt></p>
    <p><tt>%A Simbad-by-list</tt><tt><br>
      </tt><tt>
        %U &lt;&amp;</tt><tt><font color="#cc6600">SimbadRoot</font></tt><tt>&gt;/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>
      =&gt;
      <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>?&lt;&amp;Simbad,u&gt;</p>
    <p>ex: URL resolution of VizieR README page for II/250 catalog from
      Japan GLU site<br>
      =&gt;
      <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>?&lt;&amp;VizDetail,u
      II/250&gt;</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>