rees@apollo.UUCP (02/21/87)
I've had a lot of people ask me recently how the news system is set up here at Apollo. I thought I'd describe it here, as it is kind of interesting. Site 'apollo' is actually a distributed network of about 2000 workstations spread across two states. We have a user community of about 1800. 300 of them actively read news. Running out of disk space is rarely a problem, as we have about 200 Gbytes, of which maybe 30% is free. We have one node dedicated to running uucp. It has the phone lines on it. Currently the uucp spool queues are also on this node, but at times they have been elsewhere in the network. The news spool directory is on another node, the lib directory on another, and the news unbatching runs on yet another node. Forwarding between mail and news is done by another node. The mail spool directory is distributed. We don't use nntp. The file system here is tranparently available everywhere, so when I run rn on my node, it reads the files directly out of the news spool directory, just as if they were on my local disk (I may not even have a local disk). I've modified the news software a bit to make it work better in a distributed environment. Most of these mods have to do with failing gracefully if the spool directory becomes unavailable due to network problems, and extra locks on files to prevent confusion. The Apollo file system is object oriented and uid addressed. If you look at my message-id, you can see that I use an Apollo object uid. This saves having to muck with the seq file. The part before the dot is the time stamp, and the part after is the node ID. We just converted to 2.11. Updating software here is a pain. All the news programs have to be able to run on any node in the network, regardless of what release of the OS that node is running. There are multiple copies of readnews and rn, but only one copy of inews/rnews. I haven't had much luck running Brian Reid's arbitron script. Aside from the time it would take, it's almost impossible to get at everyone's newsrc file at the same time. There are 300 of them on 300 different nodes. Some people shut their nodes off when they aren't at work, and not every corner of the net is available all the time. It's certainly different from the vax 750 I used to run.
dclemans@mntgfx.UUCP (02/24/87)
We run a news system on an Apollo ring at Mentor Graphics that's similar to what Jim describes (though smaller). There are a couple of points about rn and vn that might be of interest... rn as distributed wants to periodically re-read the news active file while rn is running, to tell the user about any new news that arrives in the meantime. It does that by leaving the file open, and periodically seeking back to the beginning and re-reading. However that locks the news active file from being written, which makes it hard to post new local articles and to receive new foreign articles. I took an easy path out and modified rn to copy the active file at invocation to a local temporary file, and then to just read that file. vn (both the 5/86 and the 12/86 versions) has a bug in that there is a local subroutine that opens the active file for reading using a local variable. It then returns from the subroutine without closing the file, thus leaving the active file read-locked. This is fixed by adding an "fclose" to that subroutine. dgc