home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / FSC.ZIP / FSC-0012.TXT < prev    next >
Text File  |  1987-12-12  |  22KB  |  394 lines

  1. FSC-0012        EchoMail Specification
  2.  
  3. This document is directly derived from the documentation of
  4.  
  5. -------------------------------------------------------------------------------
  6.  
  7.                            The Conference Mail System
  8.                                         
  9.                                        By
  10.                                   Bob Hartman
  11.                        Sysop of FidoNet(tm) node 132/101
  12.                                         
  13.                   (C) Copyright 1986,87, Spark Software, Inc.
  14.                                         
  15.                               427-3 Amherst Street
  16.                               CS  2032, Suite  232
  17.                               Nashua,  N.H.  03061
  18.                                         
  19.                               ALL RIGHTS RESERVED.
  20.  
  21. -------------------------------------------------------------------------------
  22.  
  23. version 3.31 of 12 December, 1987.
  24.  
  25. With Bob Hartman's kind consent, copying for the purpose of technological
  26. research and advancement is allowed.
  27.  
  28.                                         
  29. -------------------------------------------------------------------------------
  30. -------------------------------------------------------------------------------
  31.                                         
  32.  
  33.      WHAT IS THE CONFERENCE MAIL SYSTEM?
  34.  
  35.           Conference Mail  is a  technique to  permit several  nodes  on  a
  36.           network to  share a  message base,  similar  in  concept  to  the
  37.           conferences available on many of the computer services, but it is
  38.           most closely related to the Usenet system consisting of more than
  39.           8,000 systems  world wide. All systems sharing a given conference
  40.           see any  messages entered  into the  conference  by  any  of  the
  41.           participating systems.  This can  be implemented in such a way as
  42.           to be  totally transparent  to the users of a particular node. In
  43.           fact, they  may not  even be  aware of  the network being used to
  44.           move their  messages about from node to node! Unfortunately, this
  45.           has its  disadvantages also  - most  users who  are not  educated
  46.           about Conference  Mail do  not realize  the messages  transmitted
  47.           cost MANY  sysops (system  operators) money,  not just  the local
  48.           sysop. This  is an important consideration in Conference Mail and
  49.           should not be taken lightly.  In a conference with 100 systems as
  50.           participants the cost per message can get quite high.
  51.  
  52.           The Conference  Mail System is designed to operate in conjunction
  53.           with a  FidoNet compatible  mail server.  The currently supported
  54.           mail servers  are Fido(tm),  SEAdog(tm), Opus, and Dutchie. Since
  55.           the mail  server is  a prerequisite  to using the Conference Mail
  56.           System, it  will be  assumed you  already have  your mail  server
  57.           operating correctly  on your   system, and you are connected into
  58.           FidoNet or a compatible network.
  59.  
  60.  
  61.      HISTORY OF THE CONFERENCE MAIL SYSTEM
  62.  
  63.           In late  1985, Jeff  Rush, a  Fido  sysop  in  Dallas,  wanted  a
  64.           convenient means  of sharing  ideas with the other Dallas sysops.
  65.           He created  a system  of programs  he called  Echomail,  and  the
  66.           Dallas sysops' Conference was born.
  67.  
  68.           Within a  short time  sysops in other areas began hearing of this
  69.           marvelous new  gadget and  Echomail took  on a  life of  its own.
  70.           Today, a  scant year and a half later, the FidoNet public network
  71.           boasts a myriad of conferences varying in size from the dozen-or-
  72.           so participants  in the  FidoNet  Technical  Standards  Committee
  73.           Conference  to   the  Sysops'  Conference  with  several  hundred
  74.           participants. It  is not  uncommon for a node to carry 30 or more
  75.           conferences and share those conferences with 10 or more nodes.
  76.  
  77.  
  78.      HOW IT WORKS
  79.  
  80.           The Conference  Mail System  is functionally  compatible with the
  81.           original Echomail utilities.  In general, the process is:
  82.  
  83.           1. A  message is  entered into  a designated  area on  a  FidoNet
  84.           compatible system.
  85.  
  86.           2. This message is "Exported" along with some control information
  87.           to each system "linked" to the conference through the originating
  88.           system.
  89.  
  90.           3. Each  of the  receiving systems  "Import" the message into the
  91.           proper Conference Mail area.
  92.  
  93.           4. The receiving systems then "Export" these messages, along with
  94.           additional control  information,  to  each  of  their  conference
  95.           links.
  96.  
  97.           5. Return to step 3.
  98.  
  99.           As you  can see,  the method  is quite  simple -  in general.  Of
  100.           course, following  the steps  literally would mean messages would
  101.           never stop being Exported and transmitted to other systems.  This
  102.           obviously would  not be  desired or  the  network  would  quickly
  103.           become overburdened.  The information  contained in  the 'control
  104.           information' section  is used  to prevent  transmitting the  same
  105.           message more than once to a single system.
  106.  
  107.  
  108.      CONFERENCE MAIL MESSAGE CONTROL INFORMATION
  109.  
  110.           There are  five pieces  of control  information associated with a
  111.           Conference  Mail  message.  Some  are  optional,  some  are  not.
  112.           Normally this information is never entered by the person creating
  113.           the  message.   The  following   control  fields   determine  how
  114.           Conference Mail is handled:
  115.  
  116.           1. Area line
  117.  
  118.                This is  the first  line of  a conference  mail message. Its
  119.                actual appearance is:
  120.  
  121.                                      AREA:CONFERENCE
  122.  
  123.                Where CONFERENCE is the name of the conference. This line is
  124.                added when  a conference  is  being  "Exported"  to  another
  125.                system. It  is based upon information found in the AREAS.BBS
  126.                (configuration) File  for the  designated message area. This
  127.                field is  REQUIRED by  the receiving  system to  "Import"  a
  128.                message into the correct Conference Mail area.
  129.  
  130.           2. Tear Line
  131.  
  132.                This line is near the end of a message and consists of three
  133.                dashes (---)  followed by  an  optional  program  specifier.
  134.                This is  used to show the first program used to add Echomail
  135.                compatible control information to the message. The tear line
  136.                generated by Conference Mail looks like:
  137.  
  138.                                     --- <a small product-specific banner>
  139.  
  140.                This  field   is  optional   for  most  Echomail  compatible
  141.                processors, and  is added  by the  Conference Mail System to
  142.                ensure complete  compatibility. Some systems will place this
  143.                line in  the message  when it  is first  created, but  it is
  144.                normally added when the message is first "exported."
  145.  
  146.           3. Origin line
  147.  
  148.                This line  appears near  the bottom of a message and gives a
  149.                small amount  of  information  about  the  system  where  it
  150.                originated. It looks like:
  151.  
  152.                       * Origin: The Conference Mail BBS (1:132/101)
  153.  
  154.                The "  * Origin:  " part  of the  line is  a constant field.
  155.                This is followed by the name of the system as taken from the
  156.                AREAS.BBS file  or a  file named  ORIGIN located  in the DOS
  157.                directory of  the  designated  message  area.  The  complete
  158.                network address  (1:132/101 in  this case)  is added  by the
  159.                program inserting  the line.  This field is generated at the
  160.                same time  as the  tear line,  and therefore  may either  be
  161.                generated at  the time  of  creation  or  during  the  first
  162.                "export"  processing.   Although  the  Origin  line  is  not
  163.                required by  all Echomail  processors, it  is added  by  the
  164.                Conference Mail System to ensure complete compatibility.
  165.  
  166.  
  167.           4. Seen-by Lines
  168.  
  169.                There can  be many  seen-by lines  at the  end of Conference
  170.                Mail messages,  and they  are the real "meat" of the control
  171.                information. They  are used  to  determine  the  systems  to
  172.                receive the exported messages. The format of the line is:
  173.  
  174.                            SEEN-BY: 132/101 113 136/601 1014/1
  175.  
  176.                The net/node  numbers correspond  to the net/node numbers of
  177.                the systems having already received the message. In this way
  178.                a message  is never  sent to a system twice. In a conference
  179.                with many  participants the  number of  seen-by lines can be
  180.                very large.   This line is added if it is not already a part
  181.                of the  message, or added to if it already exists, each time
  182.                a message  is exported  to other systems. This is a REQUIRED
  183.                field, and  Conference Mail  will not  function correctly if
  184.                this field  is not put in place by other Echomail compatible
  185.                programs.
  186.  
  187.           5. PATH Lines
  188.  
  189.                These are  the last  lines in  a Conference Mail message and
  190.                are a  new addition,  and therefore  is not supported by all
  191.                Echomail processors. It appears as follows:
  192.  
  193.                                   ^aPATH: 132/101 1014/1
  194.  
  195.                Where the  ^a stands  for Control-A  (ASCII character 1) and
  196.                the net/nodes  listed correspond  to  those  systems  having
  197.                processed the  message before it reached the current system.
  198.                This is  not the  same as  the seen-by  lines, because those
  199.                lines list  all systems  the message has been sent to, while
  200.                the path line contains all systems having actually processed
  201.                the message.  This is not a required field, and few echomail
  202.                processors currently  support it,  however it  can  be  used
  203.                safely with  any other  system, since  the line(s)  will  be
  204.                ignored. For  a discussion  on how  the  path  line  can  be
  205.                helpful, see the "Advanced Features" section of this manual.
  206.  
  207.  
  208.      METHODS OF SENDING CONFERENCE MAIL
  209.  
  210.           To this  point the  issue of how Conference Mail is actually sent
  211.           has been glossed over entirely. The phrase has been, "the message
  212.           is exported  to another  system."   What exactly  does this mean?
  213.           Well, for starters lets show what is called the "basic" setup:
  214.  
  215.           In this setup exported mail is placed into the FidoNet mail area.
  216.           Each message   exported  from a  Conference  Mail  area  has  one
  217.           message generated  for each  receiving system.  This mail is then
  218.           sent the  same as any other network mail. When Echomail was first
  219.           created this was the only way mail could be sent.
  220.  
  221.           The "basic"  method has some disadvantages. First, since Echomail
  222.           has grown so large it is not uncommon to get 200 new messages per
  223.           day imported  into various message bases. It is also not uncommon
  224.           for a  system to  be exporting  messages to 4 or 5 other systems.
  225.           Simple arithmetic  shows 800-1000  messages per day would be sent
  226.           in normal  netmail! This  puts a tremendous strain on any netmail
  227.           system, not  to mention transmission time and the resultant phone
  228.           charges. When this limitation of Echomail was first noticed a lot
  229.           of people started scratching their heads wondering what to do. If
  230.           a  solution  could  not  be  found  it  appeared  Echomail  would
  231.           certainly overrun the capabilities of FidoNet.
  232.  
  233.           Thom Henderson  (from System Enhancement Associates) came up with
  234.           the original  ARCmail program.  Having previously written the ARC
  235.           file archiving  and compression  program,  he  knew  the  savings
  236.           achievable by  having all  of the netmail messages placed in .ARC
  237.           format for  transmission. As  a byproduct, the messages no longer
  238.           appeared in  the netmail  area,  but  were  included  in  a  file
  239.           attached to  a message  (see your  FidoNet mailer manual for file
  240.           attaches).  In   this  way  the  tremendous  number  of  messages
  241.           generated, and the phone bill problems were both solved.
  242.  
  243.           Unfortunately, ARCmail  required the  messages to first be placed
  244.           into the  netmail area  before it  could be  run. In  effect,  it
  245.           caused the  messages to  be scanned once when they were exported,
  246.           once during  the ARCmail  phase, once when ARCmail was run at the
  247.           other end  to get  the messages out of .ARC format, and once when
  248.           those messages  were later  imported into  a message  base on the
  249.           receiving system.  The Conference Mail System solves this problem
  250.           by eliminating  the ARCmail  program. Conference  Mail builds the
  251.           ARCmail files during Export, and unpacks them during Import. This
  252.           way  messages   are  exported  directly  to  ARCmail  style  file
  253.           attaches, and imported directly from ARCmail style file attaches.
  254.           The scanning  phases between importing and exporting messages are
  255.           totally removed and processing time is proportionally reduced.
  256.  
  257.           This is  now the  most common  method for sending Conference Mail
  258.           between systems.  The overhead  involved in  doing it  during the
  259.           importing and exporting phases is much less than what is involved
  260.           if ARCmailing  is not  utilized. This was a primary consideration
  261.           in the  design and  implementation of the Conference Mail System,
  262.           and as  a result  the entire system is optimized for this type of
  263.           use.  Please  refer  to  the  Import  and  Export  functions  for
  264.           specifics on how to use the ARCmailing feature.
  265.  
  266.  
  267.      CONFERENCE TOPOLOGY
  268.  
  269.           The  way   in  which  systems  link  together  for  a  particular
  270.           conference is  called the "conference topology."  It is important
  271.           to know  this structure  for two  reasons: 1)  It is important to
  272.           have a  topology which  is  efficient  in  the  transfer  of  the
  273.           Conference Mail  messages, and  2) It  is  important  to  have  a
  274.           topology which  will not  cause systems  to see the same messages
  275.           more than once.
  276.  
  277.           Efficiency can  be measured  in a  number  of  ways;  least  time
  278.           involved for all systems to receive a message, least cost for all
  279.           systems to receive a message, and fewest phone calls required for
  280.           all systems  to receive  a message  are all  valid indicators  of
  281.           efficiency. Users  of Echomail compatible systems have determined
  282.           (through trial  and error)  the best  measure of  efficiency is a
  283.           combination  of  all  three  of  the  measurements  given  above.
  284.           Balancing the equation is not trivial, but some guidelines can be
  285.           given:
  286.  
  287.                1. Never have two systems attempting to send Conference mail
  288.                to each other at the same time. This results in "collisions"
  289.                that will  cause both  systems to  fail. To  avoid this, one
  290.                system should  be responsible  for polling  while the  other
  291.                system is holding mail. This arrangement can alternate based
  292.                upon various  criteria, but  both systems  should  never  be
  293.                attempting to call each other at the same time.
  294.  
  295.                2. Have  nodes form  "stars" for  distribution of Conference
  296.                Mail. This arrangement has several nodes all receiving their
  297.                Conference Mail from the same system. In general the systems
  298.                on the  "outside"  of  the  star  poll  the  system  on  the
  299.                "inside". The  system on  the "inside"  in turn  polls other
  300.                systems to  receive the Conference Mail that is being passed
  301.                on to the "outside" systems.
  302.  
  303.                3. Utilize  fully connected  polygons with  a few  vertices.
  304.                Nodes can  be connected in a triangle (A sends to B and C, B
  305.                sends to  A and  C, C sends to A and B) or a fully connected
  306.                square (all  corners of  the square send to all of the other
  307.                corners). This  method is useful for getting Conference Mail
  308.                messages to each node as quickly as possible.
  309.  
  310.  
  311.           All of  these efficiency  guidelines have to be tempered with the
  312.           guidelines dealing  with keeping  duplicate messages  from  being
  313.           exported. Duplicates  will occur  in any  topology that  forms  a
  314.           closed polygon  that is not fully connected. Take for example the
  315.           following configuration:
  316.  
  317.                                       A ----- B
  318.                                       |       |
  319.                                       |       |
  320.                                       C ----- D
  321.  
  322.           This square  is a  closed polygon that is not fully connected. It
  323.           is capable of generating duplicates as follows:
  324.  
  325.                1. A message is entered on node A.
  326.  
  327.                2. Node  A exports  the message to node B and node C placing
  328.                the seen-by for A, B, and C in the message as it does so.
  329.  
  330.                3. Node  B sees that node D is not listed in the seen-by and
  331.                exports the message to node D.
  332.  
  333.                4. Node  C sees that node D is not listed in the seen-by and
  334.                exports the message to node D.
  335.  
  336.           At this  point node  D has  received the  same message  twice - a
  337.           duplicate was  generated. Normally  a "dup-ring"  will not  be as
  338.           simple as  a square.  Generally it  will be caused by a system on
  339.           one end  of a  long chain  accidentally connecting to a system on
  340.           the other end of the chain. This causes the two ends of the chain
  341.           to become connected, forming a polygon.
  342.  
  343.           In FidoNet  this problem  is reduced somewhat by having "Regional
  344.           Echomail Coordinators"  (RECS) that try to keep track of Echomail
  345.           connections within  their regions  of the  world. A  further rule
  346.           which is  followed is  that only  the RECS  are allowed  to  make
  347.           inter-regional connections for the larger conferences. In return,
  348.           the RECS  have established  a very  efficient topology which gets
  349.           messages from  coast to  coast, and onto over 200 systems in less
  350.           than 24  hours. If  no one were willing to follow the rules, then
  351.           this system  would collapse,  but due to the excellent efficiency
  352.           it has remained intact for over a year.
  353.  
  354.  
  355.      Why a PATH line?
  356.  
  357.           As was  previously mentioned,  the PATH  line is a new concept in
  358.           Echomail. It  stores the  net/node numbers  of each system having
  359.           actually processed  a message.  This  information  is  useful  in
  360.           correcting the  biggest problem  encountered by  nodes running an
  361.           Echomail compatible  system - the problem of finding the cause of
  362.           duplicate messages.  How does  the  PATH  line  help  solve  this
  363.           problem? Take the following path line as an example:
  364.  
  365.                ^aPATH: 107/6 107/312 132/101
  366.  
  367.           This  shows  the  message  was  processed  by  system  107/6  and
  368.           transferred to  system 107/312.  It further  shows system 107/312
  369.           transferred the  message to  132/101, and  132/101  processed  it
  370.           again. Now take the following path line as the example:
  371.  
  372.                ^aPATH: 107/6 107/312 107/528 107/312 132/101
  373.  
  374.           This shows  the message  having been processed by node 107/312 on
  375.           more than one occasion. Based upon the earlier description of the
  376.           'information control'  fields in  Echomail messages, this clearly
  377.           is an  error in  processing (see  the section  entitled  "How  it
  378.           Works"). This  further shows   node  107/528 as  the  node  which
  379.           apparently processed  the message  incorrectly. In  this case the
  380.           path line  can be  used to quickly locate the source of duplicate
  381.           messages.
  382.  
  383.           In  a   conference  with  many  participants  it  becomes  almost
  384.           impossible to  determine the  exact topology used. In these cases
  385.           the use of the path line can help a coordinator of the conference
  386.           track any  possible breakdowns in the overall topology, while not
  387.           substantially increasing  the amount  of information transmitted.
  388.           Having this  small amount of information added to the end of each
  389.           message pays  for itself very quickly when it can be used to help
  390.           detect a  topology  problem  causing  duplicate  messages  to  be
  391.           transmitted to each system.
  392.  
  393. -30-
  394.