dg@lakart.UUCP (David Goodenough) (10/18/89)
I've posted this only to news.admin, because the direction it's taking it has left the newsgroup name thread, and become an admin subject. I'm also putting on my +6 ring of fire resistance, because I'm going to speak my mind, and probably offend a lot of people. geoff@pmafire.UUCP (Geoff Allen) sez: > In article <34075@looking.on.ca> brad@looking.on.ca (Brad Templeton) > proposes a scheme for setting up dynamic feeds > > I think this idea's worthy of consideration. Just how tough would > something like this be to do? I'd make one suggestion, partly because I believe this is the way to write software, and partly because it makes this job easier. Break up inews. I sometimes get the feeling inews is too big for it's own good. Inews handles many functions: posting user articles; unbatching incoming news; manipulating control messages; (several functions in this alone) preparing data for "ihave - sendme" runs. What is wrong with making these separate programs. I can't believe that it's disk space: These separate programs might in total be bigger than inews, but they'd be easier to maintain, install and work with. I started out on a PDP11 34A (you know, the ones where each process gets a gallon of ram tops) That approach has stayed with me, as a result I keep 'em small. Back to the separate program issue. If this were done, then addition of Brad's idea would be trivial, and could be added incrementally to an already installed setup. The one question I have is topology - it sounds to me like this relies a bit on an acyclic tree. Well, we don't got that. I'd suggest more a dynamic "ihave - ineed" type setup. I.e. 1. generate the list of newsgroups that you want (the problem here is transmission time - see the note below) 2. generate an "Ihave" list from those newsgroups, this could be done with grep and tr and a shell script 3. send the Ihave / newsgroup list to your first feed (one at a time) 4. your feed builds HIS Ihave list for you, sends it back to you, along with any articles you need (from his point of view) 5. you figure which articles your feed needs from you, and send them off. 6. At this point, if you have multiple feeds move to the next feed, and loop back to step 2. A few issues need to be considered. 1. What happens if another feed calls _YOU_ while this is running - the system _MUST_ be able to run as slave for multiple systems concurrently. I think this may work anyway, since in slave mode you are just processing a request list. Think about UUNET :-/ 2. How do we solve the cyclic tree problem. I get news from both cfisun and mirror, I would consider cfisun to be a feed, but what about mirror. Are they a feed for us or are we a feed for them. Really the problem becomes how to pass newsgroup information "up the tree" - if mirror decide that we feed them and turn round and ask for every newsgroup on their system we're gonna flip out: we only have a 2400 BPS modem for communications. 3. how about a system that is five hops down the tree from a backbone. It would take ten days (assuming one run per day) for a newsgroup appearing in my .newsrc to start getting news: five days for the information to percolate to the top, and five more days for the data to get back down to me. I grant this is not realistic: two hops == four days is more like it, but it's still a while. I agree with Brad - this has to be possible (watch out for D news :-) ), but there are going to have to be some questions answered first. -- dg@lakart.UUCP - David Goodenough +---+ IHS | +-+-+ ....... !harvard!xait!lakart!dg +-+-+ | AKA: dg%lakart.uucp@xait.xerox.com +---+
henry@utzoo.uucp (Henry Spencer) (10/20/89)
In article <725@lakart.UUCP> dg@lakart.UUCP (David Goodenough) writes: >Break up inews. > >I sometimes get the feeling inews is too big for it's own good. Inews >handles many functions: > >posting user articles; >unbatching incoming news; >manipulating control messages; (several functions in this alone) >preparing data for "ihave - sendme" runs. > >What is wrong with making these separate programs... C News has already done most of this. Inews is 100% for posting user articles; relaynews handles incoming traffic from other sites. Control messages are mostly punted to separate programs (mostly shell files) by relaynews. The ihave/sendme stuff is still in relaynews, but some of the complexity has been moved out into the sys file, and the batcher handles actually assembling and transmitting the ihave/sendme messages. So to answer your question, there's nothing much wrong with it and it has already been done (although not in B News). -- A bit of tolerance is worth a | Henry Spencer at U of Toronto Zoology megabyte of flaming. | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
allbery@NCoast.ORG (Brandon S. Allbery) (10/21/89)
As quoted from <725@lakart.UUCP> by dg@lakart.UUCP (David Goodenough): +--------------- | I'd make one suggestion, partly because I believe this is the way to | write software, and partly because it makes this job easier. | Break up inews. +--------------- That's a good idea. So good, in fact, that it's already been done. Run, don't walk, to your nearest comp.sources.unix archive and get C news. ++Brandon -- Brandon S. Allbery, moderator of comp.sources.misc allbery@NCoast.ORG uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu bsa@telotech.uucp 161-7070 (MCI), ALLBERY (Delphi), B.ALLBERY (GEnie), comp-sources-misc@backbone [comp.sources.misc-related mail should go ONLY to comp-sources-misc@<backbone>] *Third party vote-collection service: send mail to allbery@uunet.uu.net (ONLY)*
gary@sci34hub.UUCP (Gary Heston) (10/21/89)
In article <725@lakart.UUCP>, dg@lakart.UUCP (David Goodenough) writes:
= geoff@pmafire.UUCP (Geoff Allen) sez:
= > In article <34075@looking.on.ca> brad@looking.on.ca (Brad Templeton)
= > proposes a scheme for setting up dynamic feeds
= >
= > I think this idea's worthy of consideration. Just how tough would
= > something like this be to do?
= I'd make one suggestion, partly because I believe this is the way to
= write software, and partly because it makes this job easier.
= Break up inews.
= [ good case made for suggestion ]
= I'd suggest more a dynamic "ihave - ineed" type setup. I.e.
= [ description of how this would work, and potential problems ]
= .... - if mirror decide that we feed them
= and turn round and ask for every newsgroup on their system we're gonna flip
= out: we only have a 2400 BPS modem for communications.
Deciding who feeds who with what should be controllable with a sys file
entry. Limit the newsgroups mirror can demand, or limit the number of
requests a system can make. A modification of the sys file might be
a better approach, a "have_need" file, perhaps. This could include
any limit data needed, and could also establish a prioritized scheme.
Something like "get everything we can from the primary feed, then
call these other feeds in this order to see what else there is".
Of course, 15,000 admins will just tell you to get a TrailBlazer,
but I'm sure you've already considered that possibility.
Potential problem with all this: batching/unbatching time lag.
Once a "ineed" list is sent, the batch must be constructed at the
other system, transferred, unbatched, posted, and scanned by the
dynamic feeder. I don't think this could be done in real-time, it
would probably be necessary to send a "ineed" list, and call back
later for the batched news. Scanning 100MB takes a while....
Even if a database of articles is constructed, it'll take time to
dig thru it and build the batches--not to mention needing space
for it, and maintaining it. You know, this is starting to sound
a lot like a history file...... :-)
= I agree with Brad - this has to be possible (watch out for D news :-) ), but
Right. "Dynamic news". ^
= there are going to have to be some questions answered first.
Starting with a list of volunteers to write all this stuff. Of course,
it can be broken up into pieces, and then it would be easier to
maintain, and smaller..... :-)
= dg@lakart.UUCP - David Goodenough +---+
--
Gary Heston { uunet!gary@sci34hub } System Mismanager
SCI Technology, Inc. OEM Products Department (i.e., computers)
Hestons' First Law: I qualify virtually everything I say.
leonard@bucket.UUCP (Leonard Erickson) (10/23/89)
Everyone seems to be complaining that "but that means it'll be X days before I get a group I just subscribed to" under the proposed system. Excuse me? What do you think happens *now* if you want a group that your site isn't currently getting? Hmmm? You ask the newsadmin to get it. If he agrees that it's a good idea he has to ask your feed to get it. This may take *longer* than Brad's idea would. And if your feed doesn't get it, then you move everything up one level, but the delaays at each level *will* be longer! As far as I can tell this "problem" will only occurwhen you subscribe to a group not currently wanted by anybody at your site *or it's leaf nodes*. I'd say this coulxd handled by having the newsreader tell you that your site isn't currently getting that group and that it may take a while before articles arrive. Say by having the process that makes the "master" .newsrc mail a message to the requestor. If implemented properly this could propogate up the chain if you neded to go up more than one link to get the group. That way you'd be kept posted on the status of your request. :-) For that matter, it'd also work for notifying you that a site refused to carry/forward a group. -- Leonard Erickson ...!tektronix!reed!percival!bucket!leonard CIS: [70465,203] "I'm all in favor of keeping dangerous weapons out of the hands of fools. Let's start with typewriters." -- Solomon Short
barrett@Daisy.EE.UND.AC.ZA (Alan P Barrett) (06/02/91)
[Followup-To: news.admin] In article <1991Jun01.041929.8253@looking.on.ca>, brad@looking.on.ca (Brad Templeton) writes: > [...] on my own machine, I am fed exactly the set of current groups > being read on my own site and downstream sites, and this is done > without human intervention. This is what I belive the long term > solution to be. However, until everybody uses a dynamic feeding > scheme of some sort, [...] I don't doubt that dynamic feeding would be useful to many people. But is it really the answer for everybody? It seems to me that, except near the periphery of the net, the term 'downstream' has no real meaning, and this implies that dynamic feeding is not useful except near the periphery of the net. People sometimes want to search through all the articles in all the newsgroups, looking for interesting information. Dynamic feeding introduces undesirable time delays between a user's decision to subscribe to a group and the appearance of any articles in the group. This could be especially irksome for users who read about interesting articles in other groups and want to check them out: instead of just jumping to that group and reading the article, the user has to subscribe to the group, wait for articles to arrive, and later unsubscribe from the group; if the subscription request has to go through several levels of feed sites before it gets to one that already has that group, the delay could be so long that the desired article has already expired fromm that feed site, and will therefore not be seen by the user who wanted it. --apb Alan Barrett, Dept. of Electronic Eng., Univ. of Natal, Durban, South Africa RFC822: barrett@ee.und.ac.za Bang: m2xenix!quagga!undeed!barrett