<HTML dir=ltr><HEAD><TITLE>Re: [Tdwg-guid] Throttling searches [ Scanned for viruses ]</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2900.2912" name=GENERATOR><BASE href=https://mbgowa01.mobot.org/exchange/Chuck.Miller/Drafts/RE:%20%5BTdwg-guid%5D%20Throttling%20searches%20%5B%20Scanned%20for%20viruses%20%5D.EML/1_text.htm></HEAD>
<BODY>
<DIV id=idOWAReplyText64679 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>Steve,</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>OK thanks, &nbsp;I get that now:&nbsp; LSID is an element of a query response.&nbsp; I guess that leads to more questions about where the LSID goes in which response formats.&nbsp; Just add&nbsp;an LSID concept&nbsp;to Darwin Core for instance?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>But, if SPARQL is a protocol, how does it layer on top of or parallel to all the other protocols that TDWG is attempting to standardize?&nbsp; Or are&nbsp;we proposing it as the "protocol to rule them all"?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>At least with DIGIR, imperfect as it is, it was clear that it was both query/response and protocol.&nbsp;(The complete flow diagram fits on one screen) &nbsp;As we break this all apart and grow it, I think it is becoming difficult for those outside to follow the model and makes it more important to describe the complete query, protocol, response stack for the TDWG membership&nbsp;that will be called to recommend and vote on it.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>Which reminds me that we still need the Rosetta Stone that resolves all these things that are on the table:&nbsp; DIGIR, BioCASE, TAPIR, Wasabi, SPARQL, LSID, PURL, RDF, OWL, OWL-DL, WSDL, SOAP, HTTP GET&nbsp;plus XML Schema - Darwin Core(Base plus extensions like GML), ABCD, TCS, SDD, etc. and more.&nbsp; And resolves them in a way that the general TDWG membership can fully grasp during&nbsp;the upcoming&nbsp;TDWG meeting.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>Chuck</FONT></DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Steven Perry [mailto:smperry@ku.edu]<BR><B>Sent:</B> Mon 6/19/2006 10:22 PM<BR><B>To:</B> Chuck Miller<BR><B>Cc:</B> S.Hinchcliffe@kew.org; roger@tdwg.org; tdwg-guid@mailman.nhm.ku.edu<BR><B>Subject:</B> Re: [Tdwg-guid] Throttling searches [ Scanned for viruses ]<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>Hi Chuck,</FONT> </P>
<P><FONT size=2>I've been thinking of the case you describe as a query operation.&nbsp; A </FONT><BR><FONT size=2>query operation would take match conditions as input and, when applied </FONT><BR><FONT size=2>to a set of RDF metadata, returns either an RDF graph or values bound to </FONT><BR><FONT size=2>variables (analogous to an SQL select statement).&nbsp; Either type of output </FONT><BR><FONT size=2>may contain references to other data objects by LSID which would have to </FONT><BR><FONT size=2>be resolved by clients.</FONT> </P>
<P><FONT size=2>This query operation is not supported by the LSID spec and requires a </FONT><BR><FONT size=2>distinct service.&nbsp; We've implemented SPARQL as the query service for </FONT><BR><FONT size=2>DiGIR2 (now called Wasabi).&nbsp; SPARQL is a W3C candidate recommendation </FONT><BR><FONT size=2>and is both a query language and a protocol.</FONT> </P>
<P><FONT size=2>See the following for more information:</FONT> </P>
<P><FONT size=2><A href="http://www.w3.org/TR/rdf-sparql-query/">http://www.w3.org/TR/rdf-sparql-query/</A></FONT> <BR><FONT size=2><A href="http://www.w3.org/TR/rdf-sparql-protocol/">http://www.w3.org/TR/rdf-sparql-protocol/</A></FONT> </P>
<P><FONT size=2>-Steve</FONT> </P><BR><BR><BR><BR><BR>
<P><FONT size=2>Chuck Miller wrote:</FONT> </P>
<P><FONT size=2>&gt; This is probably a dumb question and exposes my ignorance, but what if </FONT><BR><FONT size=2>&gt; the originating query is actually "Get all LSIDs where Family = </FONT><BR><FONT size=2>&gt; Orchidaceae".&nbsp; That seems the more likely scenario to me rather than </FONT><BR><FONT size=2>&gt; get one LSID.&nbsp; And that's the one that needs a throttle. </FONT><BR><FONT size=2>&gt;&nbsp; </FONT><BR><FONT size=2>&gt; Chuck </FONT><BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; ------------------------------------------------------------------------</FONT> <BR><FONT size=2>&gt; *From:* Sally Hinchcliffe [<A href="mailto:S.Hinchcliffe@kew.org">mailto:S.Hinchcliffe@kew.org</A>]</FONT> <BR><FONT size=2>&gt; *Sent:* Mon 6/19/2006 7:01 AM</FONT> <BR><FONT size=2>&gt; *To:* roger@tdwg.org</FONT> <BR><FONT size=2>&gt; *Cc:* tdwg-guid@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; *Subject:* Re: [Tdwg-guid] Throttling searches [ Scanned for viruses ]</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; Hi Roger</FONT> <BR><FONT size=2>&gt; Thanks for this ... I _think_ I understand it but Nicky is on leave</FONT> <BR><FONT size=2>&gt; this week so I won't know if I do or not till after she returns</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; The system doesn't have to be completely villain proof, just slow</FONT> <BR><FONT size=2>&gt; down most of the villains so everyone else can get a look in</FONT> <BR><FONT size=2>&gt; Sally</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; You don't! The LSID resolves to the binding to the getMetadata() method</FONT> <BR><FONT size=2>&gt; &gt; - which is a plain old fashioned URL. At this point the LSID authority</FONT> <BR><FONT size=2>&gt; &gt; has done its duty and we are just on a plain HTTP GET call so you </FONT><BR><FONT size=2>&gt; can do</FONT> <BR><FONT size=2>&gt; &gt; whatever you can do with any regular HTTP GET. You could stipulate</FONT> <BR><FONT size=2>&gt; &gt; another header field or (more simply) give priority service for those</FONT> <BR><FONT size=2>&gt; &gt; who append a valid user id to the URL (&amp;user_id=12345)</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; So there is no throttle on resolving the LSID to the getMetadata </FONT><BR><FONT size=2>&gt; binding</FONT> <BR><FONT size=2>&gt; &gt; (which is cheap) but there is a throttle on the actual call to get the</FONT> <BR><FONT size=2>&gt; &gt; metadata method. Really you need to do this because bad people may be</FONT> <BR><FONT size=2>&gt; &gt; able to tell from the URL how to scrape the source and bypass the LSID</FONT> <BR><FONT size=2>&gt; &gt; resolver after the first call anyhow. This is especially true if the </FONT><BR><FONT size=2>&gt; URL</FONT> <BR><FONT size=2>&gt; &gt; contains the IPNI record ID which is likely.</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; Here is an example using Rod's tester.</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; <A href="http://linnaeus.zoology.gla.ac.uk/~rpage/lsid/tester/?q=urn:lsid:ubio.org:namebank:11815">http://linnaeus.zoology.gla.ac.uk/~rpage/lsid/tester/?q=urn:lsid:ubio.org:namebank:11815</A> </FONT><BR><FONT size=2>&gt; &lt;<A href="http://linnaeus.zoology.gla.ac.uk/%7Erpage/lsid/tester/?q=urn:lsid:ubio.org:namebank:11815">http://linnaeus.zoology.gla.ac.uk/%7Erpage/lsid/tester/?q=urn:lsid:ubio.org:namebank:11815</A>&gt; </FONT><BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; The getMetadata() method for this LSID:</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; urn:lsid:ubio.org:namebank:11815</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; Is bound to this URL:</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; <A href="http://names.ubio.org/authority/metadata.php?lsid=urn:lsid:ubio.org:namebank:11815">http://names.ubio.org/authority/metadata.php?lsid=urn:lsid:ubio.org:namebank:11815</A> </FONT><BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; So ubio would just have to give preferential services to calls like </FONT><BR><FONT size=2>&gt; this:</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; <A href="http://names.ubio.org/authority/metadata.php?lsid=urn:lsid:ubio.org:namebank:11815&amp;user_id=rogerhyam1392918790">http://names.ubio.org/authority/metadata.php?lsid=urn:lsid:ubio.org:namebank:11815&amp;user_id=rogerhyam1392918790</A> </FONT><BR><FONT size=2>&gt; &lt;<A href="http://names.ubio.org/authority/metadata.php?lsid=urn:lsid:ubio.org:namebank:11815&amp;user_id=rogerhyam1392918790">http://names.ubio.org/authority/metadata.php?lsid=urn:lsid:ubio.org:namebank:11815&amp;user_id=rogerhyam1392918790</A>&gt; </FONT><BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; If rogerhyam had paid his membership fees this year.</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; Does this make sense?</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; Roger</FONT> <BR><FONT size=2>&gt; &gt; p.s. You could do this on the web pages as well with a clever little</FONT> <BR><FONT size=2>&gt; &gt; thing to write dynamic tokens into the links so that it doesn't degrade</FONT> <BR><FONT size=2>&gt; &gt; the regular browsing experience and only stops scrapers - but that is</FONT> <BR><FONT size=2>&gt; &gt; beyond my remit at the moment ;)</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; p.p.s. You could wrap this in https if you were paranoid about people</FONT> <BR><FONT size=2>&gt; &gt; stealing tokens - but this is highly unlikely I believe.</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; Sally Hinchcliffe wrote:</FONT> <BR><FONT size=2>&gt; &gt; &gt; How can we pass a token with an LSID?</FONT> <BR><FONT size=2>&gt; &gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt; I think the only way to throttle in these situations is to have some</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; notion of who the client is and the only way to do that is to </FONT><BR><FONT size=2>&gt; have some</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; kind of token exchange over HTTP saying who they are. Basically </FONT><BR><FONT size=2>&gt; you have</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; to have some kind of client registration system or you can never</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; distinguish between a call from a new client and a repeat call. </FONT><BR><FONT size=2>&gt; The use</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; of IP address is a pain because so many people are now behind </FONT><BR><FONT size=2>&gt; some kind</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; of NAT gateway.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; How about this for a plan:</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; You could give a degraded services to people who don't pass a </FONT><BR><FONT size=2>&gt; token (a 5</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; second delay perhaps) and offer a quicker service to registered </FONT><BR><FONT size=2>&gt; users</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; who pass a token (but then perhaps limit the number of calls they </FONT><BR><FONT size=2>&gt; make).</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; This would mean you could offer a universal service even to those </FONT><BR><FONT size=2>&gt; with</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; naive client software but a better service to those who play </FONT><BR><FONT size=2>&gt; nicely. You</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; could also get better stats on who is using the service.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; So there are ways that this could be done. I expect people will </FONT><BR><FONT size=2>&gt; come up</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; with a host of different ways. It is outside LSIDs though.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; Roger</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; Sally Hinchcliffe wrote:</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; It's not an LSID issue per se, but LSIDs will make it harder to </FONT><BR><FONT size=2>&gt; slow</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; searches down. For instance, Google restricts use of its spell</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; checker to 1000 a day by use of a key which is passed in with each</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; request. Obviously this can't be done with LSIDs as then they</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; wouldn't be the same for each user.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; The other reason why it's relevant to LSIDs is simply that </FONT><BR><FONT size=2>&gt; providing</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; a list of all relevant IPNI LSIDs (not necessary to the LSID</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; implementation but a nice to have for caching / lookups for other</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; systems using our LSIDs) also makes life easier for the </FONT><BR><FONT size=2>&gt; datascrapers</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; to operate</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; Also I thought ... here's a list full of clever people perhaps they</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; will have some suggestions</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; Sally</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; Is this an LSID issue? LSIDs essential provide a binding </FONT><BR><FONT size=2>&gt; service between</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; an name and one or more web services (we default to HTTP GET </FONT><BR><FONT size=2>&gt; bindings).</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; It isn't really up to the LSID authority to administer any </FONT><BR><FONT size=2>&gt; policies</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; regarding the web service but simply to point at it. It is up </FONT><BR><FONT size=2>&gt; to the web</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; service to do things like throttling, authentication and </FONT><BR><FONT size=2>&gt; authorization.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; Imagine, for example, that the different services had different</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; policies. It may be reasonable not to restrict the </FONT><BR><FONT size=2>&gt; getMetadata() calls</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; but to restrict the getData() calls.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; The use of LSIDs does not create any new problems that weren't </FONT><BR><FONT size=2>&gt; there</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; with web page scraping - or scraping of any other web service.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; Just my thoughts...</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; Roger</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; Ricardo Scachetti Pereira wrote:</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Sally,</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; You raised a really important issue that we had not really </FONT><BR><FONT size=2>&gt; addressed</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; at the meeting. Thanks for that.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; I would say that we should not constrain the resolution of </FONT><BR><FONT size=2>&gt; LSIDs if</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; we expect our LSID infrastructure to work. LSIDs will be the </FONT><BR><FONT size=2>&gt; basis of</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; our architecture so we better have good support for that.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; However, that is sure a limiting factor. Also server </FONT><BR><FONT size=2>&gt; efficiency will</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; likely vary quite a lot, depending on underlying system </FONT><BR><FONT size=2>&gt; optimizations</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; and all.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; So I think that the solution for this problem is in </FONT><BR><FONT size=2>&gt; caching LSID</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; responses on the server LSID stack. Basically, after resolving </FONT><BR><FONT size=2>&gt; an LSID</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; once, your server should be able to resolve it again and again </FONT><BR><FONT size=2>&gt; really</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; quickly, until something on the metadata that is related to </FONT><BR><FONT size=2>&gt; that id changes.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; I haven't looked at this aspect of the LSID software </FONT><BR><FONT size=2>&gt; stack, but</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; maybe others can say something about it. In any case I'll do some</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; research on it and get back to you.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Again, thanks for bringing it up.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Cheers,</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; Ricardo</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; Sally Hinchcliffe wrote:</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; There are enough discontinuities in IPNI ids that 1,2,3 would </FONT><BR><FONT size=2>&gt; quickly</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; run into the sand. I agree it's not a new problem - I just </FONT><BR><FONT size=2>&gt; hate to</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; think I'm making life easier for the data scrapers</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; Sally</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; It can be a problem but I'm not sure if there is a simple </FONT><BR><FONT size=2>&gt; solution ... and how different is the LSID crawler scenario from an </FONT><BR><FONT size=2>&gt; <A href="http://www.ipni.org/ipni/plantsearch?id=">http://www.ipni.org/ipni/plantsearch?id=</A> 1,2,3,4,5 ... 9999999 scenario?</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Paul</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; -----Original Message-----</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; From: tdwg-guid-bounces@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; [<A href="mailto:tdwg-guid-bounces@mailman.nhm.ku.edu">mailto:tdwg-guid-bounces@mailman.nhm.ku.edu</A>]On Behalf Of Sally</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Hinchcliffe</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Sent: 15 June 2006 12:08</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; To: tdwg-guid@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Subject: [Tdwg-guid] Throttling searches [ Scanned for </FONT><BR><FONT size=2>&gt; viruses ]</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi all</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; another question that has come up here.</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; As discussed at the meeting, we're thinking of providing a </FONT><BR><FONT size=2>&gt; complete</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; download of all IPNI LSIDs plus a label (name and author, </FONT><BR><FONT size=2>&gt; probably)</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; which will be available as an annually produced download</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Most people will play nice and just resolve one or two LSIDs as</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; required, but by providing a complete list, we're making it </FONT><BR><FONT size=2>&gt; very easy</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; for someone to write a crawler that hits every LSID in turn and</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; basically brings our server to its knees</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Anybody know of a good way of enforcing more polite </FONT><BR><FONT size=2>&gt; behaviour? We can</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; make the download only available under a data supply </FONT><BR><FONT size=2>&gt; agreement that</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; includes a clause limiting hit rates, or we could limit by </FONT><BR><FONT size=2>&gt; IP address</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; (but this would ultimately block out services like Rod's simple</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; resolver). I beleive Google's spell checker uses a key which </FONT><BR><FONT size=2>&gt; has to</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; be passed in as part of the query - obviously we can't do </FONT><BR><FONT size=2>&gt; that with</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; LSIDs</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Any thoughts? Anyone think this is a problem?</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Sally</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; *** Sally Hinchcliffe</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; *** Computer section, Royal Botanic Gardens, Kew</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; *** tel: +44 (0)20 8332 5708</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; *** S.Hinchcliffe@rbgkew.org.uk</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; TDWG-GUID mailing list</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; TDWG-GUID@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; <A href="http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid">http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid</A></FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; TDWG-GUID mailing list</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; TDWG-GUID@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; <A href="http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid">http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid</A></FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; *** Sally Hinchcliffe</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; *** Computer section, Royal Botanic Gardens, Kew</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; *** tel: +44 (0)20 8332 5708</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; *** S.Hinchcliffe@rbgkew.org.uk</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; TDWG-GUID mailing list</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; TDWG-GUID@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; <A href="http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid">http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid</A></FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; _______________________________________________</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; TDWG-GUID mailing list</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; TDWG-GUID@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt; <A href="http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid">http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid</A></FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; --</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp; Roger Hyam</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp; Technical Architect</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp; Taxonomic Databases Working Group</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp; <A href="http://www.tdwg.org/">http://www.tdwg.org</A> &lt;<A href="http://www.tdwg.org/">http://www.tdwg.org/</A>&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp; roger@tdwg.org</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp; +44 1578 722782</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; *** Sally Hinchcliffe</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; *** Computer section, Royal Botanic Gardens, Kew</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; *** tel: +44 (0)20 8332 5708</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt; *** S.Hinchcliffe@rbgkew.org.uk</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;&gt; --</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp; Roger Hyam</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp; Technical Architect</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp; Taxonomic Databases Working Group</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp; <A href="http://www.tdwg.org/">http://www.tdwg.org</A> &lt;<A href="http://www.tdwg.org/">http://www.tdwg.org/</A>&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp; roger@tdwg.org</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp; +44 1578 722782</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt; *** Sally Hinchcliffe</FONT> <BR><FONT size=2>&gt; &gt; &gt; *** Computer section, Royal Botanic Gardens, Kew</FONT> <BR><FONT size=2>&gt; &gt; &gt; *** tel: +44 (0)20 8332 5708</FONT> <BR><FONT size=2>&gt; &gt; &gt; *** S.Hinchcliffe@rbgkew.org.uk</FONT> <BR><FONT size=2>&gt; &gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; &gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; --</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; Roger Hyam</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; Technical Architect</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; Taxonomic Databases Working Group</FONT> <BR><FONT size=2>&gt; &gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; <A href="http://www.tdwg.org/">http://www.tdwg.org</A> &lt;<A href="http://www.tdwg.org/">http://www.tdwg.org/</A>&gt;</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; roger@tdwg.org</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; +44 1578 722782</FONT> <BR><FONT size=2>&gt; &gt; -------------------------------------</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt; &gt;</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; *** Sally Hinchcliffe</FONT> <BR><FONT size=2>&gt; *** Computer section, Royal Botanic Gardens, Kew</FONT> <BR><FONT size=2>&gt; *** tel: +44 (0)20 8332 5708</FONT> <BR><FONT size=2>&gt; *** S.Hinchcliffe@rbgkew.org.uk</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt; _______________________________________________</FONT> <BR><FONT size=2>&gt; TDWG-GUID mailing list</FONT> <BR><FONT size=2>&gt; TDWG-GUID@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt; <A href="http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid">http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid</A></FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt;------------------------------------------------------------------------</FONT> <BR><FONT size=2>&gt;</FONT> <BR><FONT size=2>&gt;_______________________________________________</FONT> <BR><FONT size=2>&gt;TDWG-GUID mailing list</FONT> <BR><FONT size=2>&gt;TDWG-GUID@mailman.nhm.ku.edu</FONT> <BR><FONT size=2>&gt;<A href="http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid">http://mailman.nhm.ku.edu/mailman/listinfo/tdwg-guid</A></FONT> <BR><FONT size=2>&gt;&nbsp; </FONT><BR><FONT size=2>&gt;</FONT> </P></DIV></BODY></HTML>