On Thu, 08 Aug 2002 10:59:16 PDT, Mohsen BANAN said: > But we can't do completion on http://www.vt.edu inside of > emacs. Where you could on edu.vt.www. And the completion > ability becomes a lot more interesting as we have more diversity > on the top level. Or if the name spcae roof is raised. You can't do completion in COM.anything anyhow, with some 60M entries in it. A optimal two-level split would require sqrt(64M) or 8K top level domains with 8K entries each, and going to 3 levels would cut it to 400 at each level. Of course, political and operational concerns would probably dictate using something less optimal than the square or cube root of the total number, and to not be TOO fussy about keeping it as a valid tree. (Remember, instead of making one .COM server grovel through 8,000 entries for each completion, and then one of 8K servers gets to grovel through its list to find what you wanted - 2K at the root level and 32K at the next level may make more sense). You're also asking 60 million domain holders and half a billion people to switch. And did you know that palindromically legal addresses broke ALL THE TIME at the Janet gateway? Happened every time a department of ours used a 2-char domain name that happened to be an ISO country code. I finally got so fed up with 'valdis@cc.vt.edu' bouncing that I stopped using it - I already *knew* there was no 'vt' subdomain in the Cocos (Keeling) islands. Our CS department escaped unscathed, but EE users trying to talk to Janet kept getting bounce messages from Estonia.... And notice that there is *NOTHING* stopping you from entering DNS names in any order you want to at the user-interface level, using some GUI widget that prompts for .com/.edu/.org, then once it knows it's a .edu and you've typed a 'v', get all the possible completions, and then repeat to fill out www. Then your little GUI presents an already validated 'www.vt.edu' (complete with an already-fetched A record) to the program. The vast majority of the time, there's no *NEED* to do completion - this note is a "reply", so it knows all the hostnames. Anytime you click on a URL, you have a canonical hostname already. The chances are that most of the sites you visit are already in either your bookmarks or recent history. The people you send mail to often are already in your address book. And I didn't even need completion in the address book - because that was populated from info I already had - the From: header from their mail... You don't need completion for the other hosts at your site -- you probably already have a "domain" line in resolv.conf or its moral equivalent. Hell, even network engineers don't enter hostnames that often for traceroutes - you slice-and-mice those from the trouble ticket into your terminal window ; Your best bet here is build a little GUI widget/tool that does a "proof of concept" see how it performs, how often you *really* need it, and how loudly the owners of the name servers yell when you use it (hint - there's currently no good way to ask the server for the .COM domain "Give me all the entries starting with F" "Give me all the entries startin with FO.. with FOO, with FOOB, with FOOOGR and so on yuntil you hopefully find the 'foobar.com' soa, and get to repeat the process until the server authoritative for that zone. Worst part is that you can't even effectively cache the info - if the user decided on 'www.ibm.com', you probably don't have enough information to know what to do if the NEXT time he goes 'www-'. Even if you cached the fact that IBM has a www-1 through www-8 (except for a -2), *and* the fact that they do some interesting CNAME stunts (especially on -4 and -7), you *STILL* get to re-ask, just in case the user wants a just-deployed 'www-test.ibm.com'. And no, you can't negative-cache the fact that www-test didn't exist, because technically, you never actually specifically asked if it did exist.... -- Valdis Kletnieks Computer Systems Senior Engineer Virginia Tech
Attachment:
pgp00105.pgp
Description: PGP signature