🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.society.development
Article #124

Re: Low-cost Usenet (Re: usenet in Nepal)

#124
From: Albert Langer
Date: Fri, 21 Jun 1991 23:19
330 lines
14375 bytes
In article <1991Jun18.065605.6955@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:

>Probably be a useful idea to start off by defining
>some "do and don't do" rules (or "motherhood and
>apple pie" baselines) for the vaporware plug and
>play Usenet system under consideration.

Kent, thanks for kicking this along. I'm going to go through your
points with a fine tooth comb, mainly raising objections, but
thanks for providing something to comb. My main point is that we
should start from requirements and carefully distinguish those from
design decisions (although some requirements may be policies or rules
to follow in making design decisions).

>1) Not MS-DOS. Why? I spent a mercifully brief nine
>months working on a ten month MS-DOS project to
>upgrade an existing commercial software package with
>much more functionality to "beat the competition";
>it's delivery was just announced, three YEARS late.
>
>Every problem _I_ saw was due to overstressing an
>architecture and an operating system already pushed
>far past its limits.  Cheap as the hardware and OS
>are, building on an MS-DOS base is a recipie for
>failure or immediate obsolescence.

Depends what we are building. If the implied architecture
is based on multi-user systems providing a service to
a number of simultaneous dial-up online users then
MSDOS may be inappropriate (though a number of BBSes
do in fact use it).

But with phone lines the dominant cost, and a requirement for
cheap connection and use, surely an architecture for developing
countries should focus even more than in the developed world
on making full use of the users own PCs.

I have in mind (for use by community groups in developed
countries as well) an architecture where each user has
a complete MTA and some users provide relay services for
other users. e.g. An organization in some town can simply
leave their office computer on all night and local users can automatically
deliver mail to it before the network schedule for
forwarding to the next relay and can then call back again
later to pickup mail from it after the network schedule
for picking up mail from the next relay. That is the model
FidoNet uses for overnight mail exchange among about 10,000
BBSes and it is extended to individual "point" users that
run essentially the same network software but have no
dial-up dumb terminal callers.

FidoNet BBS sysops put as much time into operations as unix
sysadmins but on average have less skills and the
extension already occurring to "point" operators suggest
the sysop functions can be eliminated. (With a GREAT
deal of design effort).

Such an architecture would greatly reduce costs
(if it is feasible to overcome reliability problems
through redundancy etc and to design the needed
network management). It should not be eliminated from
consideration in favour of multiple dial-up users
without careful analysis.

It would certainly require software to be running
on MSDOS boxes and also (less urgently in developing
countries) on Macs. The problems with MSDOS may
just HAVE to be overcome to meet other requirements.

>Something like SCO Unix on a fairly cheap 80386 box
>would probably be fairly effective.  AmigaUX is a
>SYSVr4 Unix, but a bit pricy compared to the Intel
>boxes, but it might be worth considering too, since
>the software would all be PD after the initial
>purchase.

If we do need a unix-like system then Xenix, Coherent
and Minix should also be considered. One model might
be to switch operating systems at night for network
operations. Very likely unix will be desirable at
gateways and for additional functions like real-time
chat and database lookup. Also unix may be the PC
operating system of the future and certainly
unix is the best development platform even if the
development is for DOS. So unix should be kept in mind.

Possible Design Rule: All software developed should
be as generic and POSIX compliant as possible with
clear separation of platform specific modules from
generic modules.

>2) Preemptive multitasking -- so the operator can be
>using the system, while the filing software is
>working at sorting out news/mail, while at least
>one user is logged in.

Desirable, but not a requirement if the user logged
in is at the console. For developing countries,
overnight mail may be quite acceptable with no need
to do any sorting out or other network activities
during times when the user needs the computer. Also
it may be possible to do background network transfers
with only very minimal multi-tasking that is oriented
towards a fancy comms driver like XPC or Mirror
rather than providing a complete multi-tasking operating
system. (After all PCs on LANs do their networking in 
the background while still running what looks to the
user like plain ordinary DOS).

Certainly pre-emptive multi-tasking does not mandate
a shift from the DOS world to unix (though it is
easier under unix). Many BBSes use Desqview and
Windows 3 might also be a possibility.

>3) Diligient, highly directive error reporting; not
>just "error ### occurred", but "The last transfer
>was halted due to lack of spool partition space;
>your current expire is 3 days, run expire with a two
>day parameter (do a 'man expire' to see how) to get
>more room, or look for suspiciously overlarge or
>over-age files using 'find' (see 'man find')."

Again implies a local "operator" but just less skilled
(or less tolerant of brain damaged software) than at
present. I'm not sure the REAL requirements can be
met without eliminating "operator" functions ENTIRELY
- which means sending error messages to network
management instead of expecting anybody trying to
USE the computer to deal with them (which of course
implies having a lot less error messages to deal
with).

>4) A complete online glossary and help/manual set:
>"what's a spool partition" should be an easy
>question to answer.

Nope. Why should a doctor or librarian who wants to use
their word processor to communicate with others want to
know what a "spool partition" is?

The sort of stuff they should see would be along the lines
of:

"The disk is filling up too quickly. Select 1, 2 or 3.

	1. Reduce the period for which old messages are kept.

Or, to postpone the problem without solving it.

	2. Select some messages to delete now.
	3. Move some messages to archive diskettes."

Requirement: Error messages should be reported only to network
management. System messages visible to the user should walk
the user through the procedure required, including insertion
and removal of diskettes etc, and should be expressed in
terms of concepts the user is necessarily familiar with.

>5) Brilliant error recovery from all the current
>problems; dropped user lines, dropped feed lines,
>overlarge file transfer, file system corruption,
>power loss, etc.

DEFINATELY. (But I wouldn't call it "brilliant".
Having operators deal with these things is simply
ridiculous.)

>6) A prioritizing system to transfer files in aged
>"smallest files first" fashion to encourage brevity.

That is a policy statement for brevity which may
have less impact than providing for reader selection
and prioritizing of articles to read with length
as a criteria. That could be added as a requirement
though it seems low priority to me.

The X400 prioritizing of urgent normal and non-urgent
items seems adequate for all transfer purposes. It
would allow normal mail to go through while "files"
are delayed by lack of disk space at intermediate
relays and would allow system messages and other
priority traffic to get through while capacity is
strained beyond normal limits. This eliminates a
substantial part of the need for sysadmins.

>7) Backing store for files await transmission; this
>may (probably will) require operator intervention,
>but we shouldn't be afraid to make the system labor
>intensive to save costs; we have the example of
>amateur radio operators to show us how hard
>hobbiests are willing to work, we just need to make
>the system not be knowledge intensive, so that those
>diligent but unskilled can just follow directions to
>make it work.

I can see the point that unskilled labor may be 
cheaply available for taking diskettes in and out
even though operator labor is unavailable, but I
doubt that there is much scope for making use of
this and certainly can't see it helping with a
queue of files waiting for transmission. (The
files should just stay on the machine they were
produced on or that they have been relayed to
until there is room to send them further. With
priority queues etc that just results in users
being told they can't send the file, not in
anything clogging up. Users told they can't
send a file can copy it off their hard disks
if they really want to, but they are more likely
to get bigger disks if it happens regularly,
and network capacity has to be increased if it is
a problem significant enough to be worth designing
a manual backing system store for.)

Possible uses for cheap labor might be archiving
old messages to diskette (though I suspect tape
will soon work out cheaper because of the media
costs anyway and tape is not labor intensive).

Another one is carrying news and files by
diskette or tape instead of phone.

>8) Robust and commonly available components; we
>should _expect_ phone line quality problems, power
>brownouts, lightning storms, etc. Since repairs
>will be a problem, select stuff that doesn't break
>often, and where local spares are an affordable
>option.

Yep. Implies a strong preference for commodity
PC hardware used locally for ordinary wordprocessing etc.

Another reason to try adding ONLY the modem to what
users already have.

>9) Redundancy; use two lesser grade $300 systems
>instead of one $600 system, so that graceful failure
>modes exist; do this even at the sacrifice of
>greater overall throughput from the monolithic
>system.

Yep. But only sites with a critical need for
continuous access to the network need duplicate
their own equipment (and they would be likely
to have multiple PCs anyway). The network itself
should simply be designed to assume that a
certain percentage, perhaps even quite a HIGH
percentage of nodes will be down at any given
time and re-route the traffic automatically
to provide the lowest cost with the
nodes that ARE available (AND to ensure nodes
that are down will get their traffic when they
come back up, which may be harder). Basically
this just means extra disk space apart from
the software design. No other extra hardware
at all. (Well, maybe ensure there is more
than 1 or 2 sites with high speed modems at
each end of an expensive and important international
link - though even there it is just a trade off with
the increased traffic costs from using other nodes
with lower speed modems).

Our requirements are not the same as corporate
networks.

>10) A _very_ simple editor, character and line
>oriented, that automatically avoids transmitting
>overlong lines, etc.

See my reply to Sue.

>11) Lots of optional ways to do things; hooks to use
>radio instead of phone instead of satellite; swap
>editors at the user level, locally present news as
>mail and vice versa, etc.

Careful. Some things just have to be optional, but
providing the network management will require a lot
of standardization - at least to the extent that any
option must include the remote logging and remote
configuration needed to manage it without a local
operator.

>12) Respect for local character sets; probably best
>to just start with a 16 bit or variable length
>character size; this implies that each document
>transmitted should have a header that identifies
>language and character set, so that we monolinguals
>can pick our favorite language out of a wider
>discussion. While I love English as a standard
>language for world discussion, and it is probably
>the most common second language in the world, it is
>still not reasonable to ask local conversations to
>occur in English.

X400 has given thorough consideration to character
set and language issues and has for very good reasons
standardized on ISO 6937 (T61) for normal text in
latin alphabet languages and ISO 2022 escapes to multi-
byte character sets for languages like Chinese etc. It
also provides for language labels. This is the best
solution for permitting use of multiple languages and
character sets in the same discussions among users with
different equipment each suited to their own language.
(Details of why would be a diversion best left to
a detailed design stage. Let's not get diverted into
re-inventing sheels that international standards
organizations have already invented.)

Internal character sets on the user's own equipment are
a separate issue for which Unicode etc may be relevant.

The basic requirement is that network character sets
should allow the full expression of each user's own
language with maximum possible interchange with users
that have equipment designed for other languages. This
permits multi-lingual conferences and the emergence of
new pidgin and creole languages through networking
between people that do not understand each other's language
fluently.

>13) Probably tons more; someone else take a turn.

Thanks for the opportunity. There is indeed tons more to come,
but let's try to keep it primarily at a "requirements" level
before taking design decisions.

--
Opinions disclaimed (Authoritative answer from opinion server)
Header reply address wrong. Use cmf851@csc2.anu.edu.au
Technical Details
Message-ID: <1991Jun21.231902.24754@newshost.anu.edu.au>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!manuel!cmf851
References: <1991Jun14.100804.4867@iccgcc.decnet.ab.com> <1991Jun15.023819.5589@newshost.anu.edu.au> <1991Jun18.065605.6955@zorch.SF-Bay.ORG>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!manuel!cmf851
From: cmf851@anu.oz.au (Albert Langer)
Newsgroups: comp.society.development
Subject: Re: Low-cost Usenet (Re: usenet in Nepal)
Message-ID: <1991Jun21.231902.24754@newshost.anu.edu.au>
Date: 21 Jun 91 23:19:02 GMT
References: <1991Jun14.100804.4867@iccgcc.decnet.ab.com> <1991Jun15.023819.5589@newshost.anu.edu.au> <1991Jun18.065605.6955@zorch.SF-Bay.ORG>
Sender: news@newshost.anu.edu.au
Organization: Computer Services Centre, Australian National University, Canberra, Australia.
Lines: 330