"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "inn-2.4.5/doc/history" of archive inn-2.4.5.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 $Revision: 4165 $
    2 This file contains a few messages of historical interest.  Some of the
    3 information in these messages is out of date (e.g., you don't need any
    4 other software, ihave/sendme is suported, etc); see the README and
    5 installation manual.
    6 
    7 The first is a mail message I sent as soon as I got the idea.
    8 
    9 Six months later I had something to beta, and I posted the second message
   10 to Usenet.  My ship date was optimistic.
   11 
   12 The third message is the application that I required all beta sites to
   13 fill out.
   14 
   15 The fourth is a copy of the release notice.
   16 
   17 From: Rich Salz <rsalz@bbn.com>
   18 Date: Sat, 8 Dec 90 15:23:20 EST
   19 Message-Id: <9012082023.AA13441@litchi.bbn.com>
   20 To: newsgurus@ucsd.edu, nntp-managers@ucbarpa.Berkeley.EDU
   21 Subject: Speed idea.
   22 
   23 Suppose inews, nntp, "rnews -U", newsunbatch, etc., all just fed their
   24 articles to a single daemon?
   25 
   26 An idea I started kicking around yesterday.  This is intended only for
   27 sites supporting BSD networking.  I believe that anyone else who needs
   28 this kind of speed would find Cnews good enough.
   29 
   30 A multi-threaded server that used non-blocking IO to read all incoming
   31 articles on several sockets (don't forker a server, select on the
   32 connection socket will return READOK when a connection request comes in).
   33 All articles are read into memory, then written out to the filesystem
   34 using a single writev call (easy way to splice the path).
   35 
   36 Hash the active file and compile the sys file so as soon as an article was
   37 accepted we can write out the batchfile entries.  As one special case,
   38 write entries to another socket for articles that should be fed out via
   39 NNTPLINK or something.
   40 
   41 Put the socket inside a group-access-only directory, so that only trusted
   42 front-ends like inews "rnews -U" etc can connect to it.
   43 
   44 Oh yeah, for things like nntp use sendmsg/recvmesg to hand off the
   45 feeding site to the demon once it's authenticated the incoming call and
   46 recognized it as an "xfer no" site.
   47 
   48 I've a few pages of notes and code fragments to type in.
   49 
   50 No locks of any kind.  active file is mmap'd or periodically flushed.
   51 Keep it all in core and blat it out with a single write.
   52 
   53 When you want to expire, or add a group, you send a special message
   54 on a control port, or perhaps a sighup/sigusr1 to force it to resynch.
   55 
   56 Any feedback?
   57 	/r$
   58 
   59 Path: papaya.bbn.com!rsalz
   60 From: rsalz@bbn.com (Rich Salz)
   61 Newsgroups: news.software.nntp,news.admin,comp.org.usenix
   62 Subject: Seeking beta-testers for a new NNTP transfer system
   63 Message-ID: <3632@litchi.bbn.com>
   64 Date: 18 Jun 91 15:47:21 GMT
   65 Followup-To: poster
   66 Organization: Bolt, Beranek and Newman, Inc.
   67 Lines: 72
   68 Xref: papaya.bbn.com news.software.nntp:1550 news.admin:15565 comp.org.usenix:418
   69 
   70 InterNetNews, or INN, is a news transport system.  The core part of the
   71 package is a single long-running daemon that handles all incoming NNTP
   72 connections.  It files the articles and arranges for them to be forwarded
   73 to downstream sites.  Because it is long-running, it can be directed to
   74 spawn other long-running processes, telling them exactly when an article
   75 should be sent to a feed.  This can replace the "watch the logfile" mode
   76 of nntplink, for example, with a much cleaner mechanism:  read the
   77 batchfile on standard input.
   78 
   79 InterNetNews assumes that memory is cheap and fast while disks are slow.
   80 No temporary files are used while incoming articles are being received,
   81 and once processed the entire article is written out using a single
   82 writev(2) call (this includes updating the Path and Xref headers).  The
   83 active file is kept in memory (a compile-time option can be set to use
   84 mmap(2)), and the newsfeeds file is parsed once to build a complete matrix
   85 of which sites receive which newsgroups.
   86 
   87 InterNetNews uses many features of standard BSD sockets including
   88 non-blocking I/O and Unix-domain stream and datagram sockets.  It is
   89 highly doubtful that the official version will ever provide support for
   90 TLI, DECNET, or other facilities.
   91 
   92 INN is fast.  Not many hard numbers are available (that is one requirement
   93 of being a beta-site), but some preliminary tests show it to be at least
   94 twice as fast as the current standard NNTP/C News combination.  For
   95 example, Jim Thompson at Sun has had 20 nntpxmits feeding into a 4/490,
   96 and was getting over 14 articles per second, with the CPU 11% utilized.  I
   97 was getting 10 articles/second feeding into a DECstations 3100, with the
   98 program (running profiled!) 50% idle and the load average under .7.  (It
   99 is a scary thing to see several articles filed with the same timestamp.)
  100 
  101 The sys file format is somewhat different, and has been renamed.  The
  102 arcane "foo.all" syntax is gone, replaced with a set of order-dependant
  103 shell patterns.  For example, instead of "comp,comp.sys.sun,!comp.sys" you
  104 would write "comp.*,!comp.sys.*,comp.sys.sun"; to not get any groups
  105 related to binaries or pictures, you write "!*pictures*,!*binaries*".
  106 
  107 There are other incompatibilities as well.  For example, ihave/sendme
  108 control messages are not supported.  Also the philosophy is that that
  109 invalid articles are dropped, rather than filed into "junk."  (A log
  110 message is written with the reason, and also sent back to the upstream
  111 feed as part of the NNTP reject reply.)  The active file is taken to be
  112 the definitive list of groups that an article wants to recieve, and if
  113 none of an article's newsgroups are mentioned in the active file, then the
  114 article is invalid, logged, and dropped.
  115 
  116 The history and log files are intended to be compatible with those created
  117 by C News.  I want to thank Henry and Geoff for their kind permission to
  118 use DBZ and SUBST.  You will need to be running C News expire or a B2.11
  119 expire that has been modified to use DBZ.
  120 
  121 The InterNetNews daemon does not implement all NNTP commands.  If sites
  122 within your campus are going to post or read news via NNTP, you will need
  123 the standard NNTP distribution.  The daemon will spawn the standard nntpd
  124 if any site not mentioned in its "hosts.nntp" file connects to the TCP
  125 port.  InterNetNews includes a replacement for the "mini-inews" that comes
  126 with the standard NNTP distribution.  This can be used on any machine that
  127 posts news and connects to an NNTP server somewhere; its use is not
  128 limited to INN.  At some point I hope to have a replacement nntpd
  129 optimized for newsreaders, and an NNTP transmission program.  These will
  130 remove the need for any external software beyond the C News expire program.
  131 
  132 If you would like to beta-test this version, please FTP the file
  133 pub/usenet/INN.BETA from cronus.bbn.com for directions.  It will be a
  134 fairly tightly-screened beta:  DO NOT ASK ME FOR COPIES!  Once the system
  135 is stable, it will be freely redistributable.  I hope to have the official
  136 release by August 7, so that schools can bring the system up before the
  137 semester starts.
  138 	/rich $alz
  139 -- 
  140 Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
  141 Use a domain-based address or give alternate paths, or you may lose out.
  142 
  143 Thanks for your interest in InterNetNews.  I want to run a fairly
  144 tightly-controlled beta test of the software before I make it generally
  145 available.  This means that I'm going to screen the sites which will be
  146 able to participate in the test.  Please don't be offended or upset by
  147 this whole procedure.  I want to make the final package as stable as soon
  148 as possible so that the entire net can benefit (it will be freely
  149 redistributable).  I've set up this mechanism because I think it's the
  150 best way for me to get the best test results as quickly as possible.
  151 
  152 I would therefore appreciate your answers to the following questions.
  153 If you think the answers to some of them will be obvious to me (e.g.,
  154 "Describe your organization" --> "UUNET" :-) then feel free to leave it
  155 blank.  If you have any other feedback or comments, please add them.
  156 
  157 Email your results to <rsalz@bbn.com>
  158 	/r$
  159 
  160 What software (transport, batching, readers, etc.) do you currently run?
  161 
  162 How much experience do you have with Usenet and NNTP?
  163 
  164 Describe your organization.
  165 
  166 How do you plan on testing InterNetNews?  Be specific, describing the
  167 machine hardware, any test servers, etc.  [The answers to this one
  168 won't be obvious to me -- you gotta write something.]
  169 
  170 What are the rough counts of the upstream and downstream feeds, and how do
  171 they break down by category (UUCP, NNTP, etc.)?
  172 
  173 What special news functions does your server perform (gatewaying,
  174 archiving, etc.)?
  175 
  176 Do you understand that by participating in the beta-test you agree not to
  177 redistribute the software outside of your administrative domain, and that
  178 you promise to upgrade to the official release in a timely manner?
  179 
  180 From: Rich Salz <rsalz@uunet.uu.net>
  181 Message-Id: <inn-announce@uunet.uu.net>
  182 Newsgroups: news.software.b,news.protocols.nntp
  183 Subject: Announcing the release of InterNetNews
  184 
  185 I am pleased to announce the official release of InterNetNews.
  186 
  187 InterNetNews, or INN, is a news transport system.  The core part of the
  188 package is a single long-running daemon that handles all incoming NNTP
  189 connections.  It files the articles and arranges for them to be forwarded
  190 to downstream sites.  Because it is long-running, it can be directed to
  191 spawn other long-running processes, telling them exactly when an article
  192 should be sent to a feed.
  193 
  194 INN is a complete Usenet system.  It provides article expiration and
  195 archiving, NNTP transport, and UUCP support.  Nntplink works fine.
  196 
  197 INN does not include a newsreader.  It does provide a version of the NNTP
  198 reference implementation "clientlib" routines so that rrn and other
  199 newsreaders compile with little trouble.  The next release of xrn will
  200 include INN support.
  201 
  202 The spool directory is unchanged while the history database is
  203 upwardly-compatible with that of C News and the log file is very similar.
  204 All system configuration files are different.
  205 
  206 INN assumes that memory is cheap and fast while disks are slow.  No
  207 temporary files are used while incoming articles are being received, and
  208 once processed the entire article is written out using a single system
  209 call (this includes updating the Path and Xref headers).  The active file
  210 is kept in memory, and the newsfeeds file is parsed at start-up to build a
  211 complete matrix of which sites receive which newsgroups.  A paper
  212 describing the implementation was presented at the June 1992 Usenix
  213 conference.
  214 
  215 INN uses many features of standard BSD sockets including non-blocking
  216 I/O.  It is highly doubtful that the official version will ever provide
  217 support for TLI, DECNET, or other facilities.  Among others, INN beta
  218 sites include ATT Unix System V Release 4, Apple A/UX, BSDI BSD/386 0.3.3,
  219 DEC Ultrix 3.x and 4.x, HP-UX s800 8.0, IBM AIX 3.1 and 3.2, Next NeXT-OS
  220 2.1, Pyramid OSx 5.1, SCO Xenix 2.3.4, SGI Irix 4.0, Sequent Dynix 3.0.4
  221 and 3.0.12, and Sun SunOS 3.5 and 4.x.
  222 
  223 Almost all of the beta-testers have reported faster performance and less
  224 load once they installed INN.  Many people find it easy to maintain.
  225 
  226 A number of sites have graciously agreed to provide FTP access to this
  227 release.  The machine names and directories are listed below.  Within
  228 those directories you will find one or more of the following files:
  229 	README			Intro and unpacking instructions;
  230 	 -or-			a copy appears at the end of this
  231 	README.INN		article.
  232 	inn1.0.tar.Z		The full distribution
  233 	inn.usenix.ps.Z		The Usenix paper on INN
  234 
  235 The sites providing access are:
  236 	cs.utexas.edu		/pub/inn
  237 	ftp.cs.widener.edu	/pub/inn.tar.Z (or wherever).
  238 	ftp.germany.eu.net	/pub/news/inn
  239 	ftp.ira.uka.de		pub/network/news
  240 	ftp.msen.com		/pub/packages/inn
  241 	ftp.uu.net		/pub/news/nntp/inn
  242 	gatekeeper.dec.com	/pub/news/inn
  243 	grasp1.univ-lyon1.fr	/pub/unix/news/inn
  244 	munnari.oz.au		/pub/news/inn
  245 	sparky.Sterling.COM	/news/inn
  246 	src.doc.ic.ac.uk	/computing/usenet/software/transport
  247 	stasys.sta.sub.org	/pub/src/inn
  248 	    (Stasys also has anonymous UUCP; contact <fkk@sta.sub.org>.
  249 	ucsd.edu		/INN
  250 	usc.edu			/pub/inn
  251 
  252 Discussion about INN should be posted to news.software.b and
  253 news.software.nntp.  Email should be sent to <rsalz@uunet.uu.net>.  Please
  254 do NOT send it to <rsalz@osf.org> -- it will only just delay your response
  255 since I will have to forward it to UUNET.
  256 
  257 The README follows after the formfeed.
  258 	/r$