home *** CD-ROM | disk | FTP | other *** search
- FTS-0004 EchoMail Specification
-
- This document is directly derived from the documentation of
-
- -------------------------------------------------------------------------------
-
- The Conference Mail System
-
- By
- Bob Hartman
- Sysop of FidoNet(tm) node 132/101
-
- (C) Copyright 1986,87, Spark Software, Inc.
-
- 427-3 Amherst Street
- CS 2032, Suite 232
- Nashua, N.H. 03061
-
- ALL RIGHTS RESERVED.
-
- -------------------------------------------------------------------------------
-
- version 3.31 of 12 December, 1987.
-
- With Bob Hartman's kind consent, copying for the purpose of technological
- research and advancement is allowed.
-
-
- -------------------------------------------------------------------------------
- -------------------------------------------------------------------------------
-
-
- WHAT IS THE CONFERENCE MAIL SYSTEM?
-
- Conference Mail is a technique to permit several nodes on a
- network to share a message base, similar in concept to the
- conferences available on many of the computer services, but it is
- most closely related to the Usenet system consisting of more than
- 8,000 systems world wide. All systems sharing a given conference
- see any messages entered into the conference by any of the
- participating systems. This can be implemented in such a way as
- to be totally transparent to the users of a particular node. In
- fact, they may not even be aware of the network being used to
- move their messages about from node to node! Unfortunately, this
- has its disadvantages also - most users who are not educated
- about Conference Mail do not realize the messages transmitted
- cost MANY sysops (system operators) money, not just the local
- sysop. This is an important consideration in Conference Mail and
- should not be taken lightly. In a conference with 100 systems as
- participants the cost per message can get quite high.
-
- The Conference Mail System is designed to operate in conjunction
- with a FidoNet compatible mail server. The currently supported
- mail servers are Fido(tm), SEAdog(tm), Opus, and Dutchie. Since
- the mail server is a prerequisite to using the Conference Mail
- System, it will be assumed you already have your mail server
- operating correctly on your system, and you are connected into
- FidoNet or a compatible network.
-
-
- HISTORY OF THE CONFERENCE MAIL SYSTEM
-
- In late 1985, Jeff Rush, a Fido sysop in Dallas, wanted a
- convenient means of sharing ideas with the other Dallas sysops.
- He created a system of programs he called Echomail, and the
- Dallas sysops' Conference was born.
-
- Within a short time sysops in other areas began hearing of this
- marvelous new gadget and Echomail took on a life of its own.
- Today, a scant year and a half later, the FidoNet public network
- boasts a myriad of conferences varying in size from the dozen-or-
- so participants in the FidoNet Technical Standards Committee
- Conference to the Sysops' Conference with several hundred
- participants. It is not uncommon for a node to carry 30 or more
- conferences and share those conferences with 10 or more nodes.
-
-
- HOW IT WORKS
-
- The Conference Mail System is functionally compatible with the
- original Echomail utilities. In general, the process is:
-
- 1. A message is entered into a designated area on a FidoNet
- compatible system.
-
- 2. This message is "Exported" along with some control information
- to each system "linked" to the conference through the originating
- system.
-
- 3. Each of the receiving systems "Import" the message into the
- proper Conference Mail area.
-
- 4. The receiving systems then "Export" these messages, along with
- additional control information, to each of their conference
- links.
-
- 5. Return to step 3.
-
- As you can see, the method is quite simple - in general. Of
- course, following the steps literally would mean messages would
- never stop being Exported and transmitted to other systems. This
- obviously would not be desired or the network would quickly
- become overburdened. The information contained in the 'control
- information' section is used to prevent transmitting the same
- message more than once to a single system.
-
-
- CONFERENCE MAIL MESSAGE CONTROL INFORMATION
-
- There are five pieces of control information associated with a
- Conference Mail message. Some are optional, some are not.
- Normally this information is never entered by the person creating
- the message. The following control fields determine how
- Conference Mail is handled:
-
- 1. Area line
-
- This is the first line of a conference mail message. Its
- actual appearance is:
-
- AREA:CONFERENCE
-
- Where CONFERENCE is the name of the conference. This line is
- added when a conference is being "Exported" to another
- system. It is based upon information found in the AREAS.BBS
- (configuration) File for the designated message area. This
- field is REQUIRED by the receiving system to "Import" a
- message into the correct Conference Mail area.
-
- 2. Tear Line
-
- This line is near the end of a message and consists of three
- dashes (---) followed by an optional program specifier.
- This is used to show the first program used to add Echomail
- compatible control information to the message. The tear line
- generated by Conference Mail looks like:
-
- --- <a small product-specific banner>
-
- This field is optional for most Echomail compatible
- processors, and is added by the Conference Mail System to
- ensure complete compatibility. Some systems will place this
- line in the message when it is first created, but it is
- normally added when the message is first "exported."
-
- 3. Origin line
-
- This line appears near the bottom of a message and gives a
- small amount of information about the system where it
- originated. It looks like:
-
- * Origin: The Conference Mail BBS (1:132/101)
-
- The " * Origin: " part of the line is a constant field.
- This is followed by the name of the system as taken from the
- AREAS.BBS file or a file named ORIGIN located in the DOS
- directory of the designated message area. The complete
- network address (1:132/101 in this case) is added by the
- program inserting the line. This field is generated at the
- same time as the tear line, and therefore may either be
- generated at the time of creation or during the first
- "export" processing. Although the Origin line is not
- required by all Echomail processors, it is added by the
- Conference Mail System to ensure complete compatibility.
-
-
- 4. Seen-by Lines
-
- There can be many seen-by lines at the end of Conference
- Mail messages, and they are the real "meat" of the control
- information. They are used to determine the systems to
- receive the exported messages. The format of the line is:
-
- SEEN-BY: 132/101 113 136/601 1014/1
-
- The net/node numbers correspond to the net/node numbers of
- the systems having already received the message. In this way
- a message is never sent to a system twice. In a conference
- with many participants the number of seen-by lines can be
- very large. This line is added if it is not already a part
- of the message, or added to if it already exists, each time
- a message is exported to other systems. This is a REQUIRED
- field, and Conference Mail will not function correctly if
- this field is not put in place by other Echomail compatible
- programs.
-
- 5. PATH Lines
-
- These are the last lines in a Conference Mail message and
- are a new addition, and therefore is not supported by all
- Echomail processors. It appears as follows:
-
- ^aPATH: 132/101 1014/1
-
- Where the ^a stands for Control-A (ASCII character 1) and
- the net/nodes listed correspond to those systems having
- processed the message before it reached the current system.
- This is not the same as the seen-by lines, because those
- lines list all systems the message has been sent to, while
- the path line contains all systems having actually processed
- the message. This is not a required field, and few echomail
- processors currently support it, however it can be used
- safely with any other system, since the line(s) will be
- ignored. For a discussion on how the path line can be
- helpful, see the "Advanced Features" section of this manual.
-
-
- METHODS OF SENDING CONFERENCE MAIL
-
- To this point the issue of how Conference Mail is actually sent
- has been glossed over entirely. The phrase has been, "the message
- is exported to another system." What exactly does this mean?
- Well, for starters lets show what is called the "basic" setup:
-
- In this setup exported mail is placed into the FidoNet mail area.
- Each message exported from a Conference Mail area has one
- message generated for each receiving system. This mail is then
- sent the same as any other network mail. When Echomail was first
- created this was the only way mail could be sent.
-
- The "basic" method has some disadvantages. First, since Echomail
- has grown so large it is not uncommon to get 200 new messages per
- day imported into various message bases. It is also not uncommon
- for a system to be exporting messages to 4 or 5 other systems.
- Simple arithmetic shows 800-1000 messages per day would be sent
- in normal netmail! This puts a tremendous strain on any netmail
- system, not to mention transmission time and the resultant phone
- charges. When this limitation of Echomail was first noticed a lot
- of people started scratching their heads wondering what to do. If
- a solution could not be found it appeared Echomail would
- certainly overrun the capabilities of FidoNet.
-
- Thom Henderson (from System Enhancement Associates) came up with
- the original ARCmail program. Having previously written the ARC
- file archiving and compression program, he knew the savings
- achievable by having all of the netmail messages placed in .ARC
- format for transmission. As a byproduct, the messages no longer
- appeared in the netmail area, but were included in a file
- attached to a message (see your FidoNet mailer manual for file
- attaches). In this way the tremendous number of messages
- generated, and the phone bill problems were both solved.
-
- Unfortunately, ARCmail required the messages to first be placed
- into the netmail area before it could be run. In effect, it
- caused the messages to be scanned once when they were exported,
- once during the ARCmail phase, once when ARCmail was run at the
- other end to get the messages out of .ARC format, and once when
- those messages were later imported into a message base on the
- receiving system. The Conference Mail System solves this problem
- by eliminating the ARCmail program. Conference Mail builds the
- ARCmail files during Export, and unpacks them during Import. This
- way messages are exported directly to ARCmail style file
- attaches, and imported directly from ARCmail style file attaches.
- The scanning phases between importing and exporting messages are
- totally removed and processing time is proportionally reduced.
-
- This is now the most common method for sending Conference Mail
- between systems. The overhead involved in doing it during the
- importing and exporting phases is much less than what is involved
- if ARCmailing is not utilized. This was a primary consideration
- in the design and implementation of the Conference Mail System,
- and as a result the entire system is optimized for this type of
- use. Please refer to the Import and Export functions for
- specifics on how to use the ARCmailing feature.
-
-
- CONFERENCE TOPOLOGY
-
- The way in which systems link together for a particular
- conference is called the "conference topology." It is important
- to know this structure for two reasons: 1) It is important to
- have a topology which is efficient in the transfer of the
- Conference Mail messages, and 2) It is important to have a
- topology which will not cause systems to see the same messages
- more than once.
-
- Efficiency can be measured in a number of ways; least time
- involved for all systems to receive a message, least cost for all
- systems to receive a message, and fewest phone calls required for
- all systems to receive a message are all valid indicators of
- efficiency. Users of Echomail compatible systems have determined
- (through trial and error) the best measure of efficiency is a
- combination of all three of the measurements given above.
- Balancing the equation is not trivial, but some guidelines can be
- given:
-
- 1. Never have two systems attempting to send Conference mail
- to each other at the same time. This results in "collisions"
- that will cause both systems to fail. To avoid this, one
- system should be responsible for polling while the other
- system is holding mail. This arrangement can alternate based
- upon various criteria, but both systems should never be
- attempting to call each other at the same time.
-
- 2. Have nodes form "stars" for distribution of Conference
- Mail. This arrangement has several nodes all receiving their
- Conference Mail from the same system. In general the systems
- on the "outside" of the star poll the system on the
- "inside". The system on the "inside" in turn polls other
- systems to receive the Conference Mail that is being passed
- on to the "outside" systems.
-
- 3. Utilize fully connected polygons with a few vertices.
- Nodes can be connected in a triangle (A sends to B and C, B
- sends to A and C, C sends to A and B) or a fully connected
- square (all corners of the square send to all of the other
- corners). This method is useful for getting Conference Mail
- messages to each node as quickly as possible.
-
-
- All of these efficiency guidelines have to be tempered with the
- guidelines dealing with keeping duplicate messages from being
- exported. Duplicates will occur in any topology that forms a
- closed polygon that is not fully connected. Take for example the
- following configuration:
-
- A ----- B
- | |
- | |
- C ----- D
-
- This square is a closed polygon that is not fully connected. It
- is capable of generating duplicates as follows:
-
- 1. A message is entered on node A.
-
- 2. Node A exports the message to node B and node C placing
- the seen-by for A, B, and C in the message as it does so.
-
- 3. Node B sees that node D is not listed in the seen-by and
- exports the message to node D.
-
- 4. Node C sees that node D is not listed in the seen-by and
- exports the message to node D.
-
- At this point node D has received the same message twice - a
- duplicate was generated. Normally a "dup-ring" will not be as
- simple as a square. Generally it will be caused by a system on
- one end of a long chain accidentally connecting to a system on
- the other end of the chain. This causes the two ends of the chain
- to become connected, forming a polygon.
-
- In FidoNet this problem is reduced somewhat by having "Regional
- Echomail Coordinators" (RECS) that try to keep track of Echomail
- connections within their regions of the world. A further rule
- which is followed is that only the RECS are allowed to make
- inter-regional connections for the larger conferences. In return,
- the RECS have established a very efficient topology which gets
- messages from coast to coast, and onto over 200 systems in less
- than 24 hours. If no one were willing to follow the rules, then
- this system would collapse, but due to the excellent efficiency
- it has remained intact for over a year.
-
-
- Why a PATH line?
-
- As was previously mentioned, the PATH line is a new concept in
- Echomail. It stores the net/node numbers of each system having
- actually processed a message. This information is useful in
- correcting the biggest problem encountered by nodes running an
- Echomail compatible system - the problem of finding the cause of
- duplicate messages. How does the PATH line help solve this
- problem? Take the following path line as an example:
-
- ^aPATH: 107/6 107/312 132/101
-
- This shows the message was processed by system 107/6 and
- transferred to system 107/312. It further shows system 107/312
- transferred the message to 132/101, and 132/101 processed it
- again. Now take the following path line as the example:
-
- ^aPATH: 107/6 107/312 107/528 107/312 132/101
-
- This shows the message having been processed by node 107/312 on
- more than one occasion. Based upon the earlier description of the
- 'information control' fields in Echomail messages, this clearly
- is an error in processing (see the section entitled "How it
- Works"). This further shows node 107/528 as the node which
- apparently processed the message incorrectly. In this case the
- path line can be used to quickly locate the source of duplicate
- messages.
-
- In a conference with many participants it becomes almost
- impossible to determine the exact topology used. In these cases
- the use of the path line can help a coordinator of the conference
- track any possible breakdowns in the overall topology, while not
- substantially increasing the amount of information transmitted.
- Having this small amount of information added to the end of each
- message pays for itself very quickly when it can be used to help
- detect a topology problem causing duplicate messages to be
- transmitted to each system.
-
- -30-
-