home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / e / newsn3.txt < prev    next >
Text File  |  2020-01-01  |  37KB  |  687 lines

  1.  
  2.                                   KERMIT NEWS
  3.  
  4.                               Volume 3, Number 1
  5.  
  6.                                   June, 1988
  7.  
  8. Kermit  News  is  published periodically free of charge by Columbia University,
  9. Center for Computing Activities, 612 West 115th Street, New York, NY 10025,
  10. USA, phone 212-280-3703.
  11.  
  12. Editor: Christine Gianone
  13.  
  14. The Kermit file transfer protocol is named after Kermit the Frog, star  of  the
  15. television  series  The  Muppet  Show, used by permission of Henson Associates,
  16. Inc.
  17.  
  18. EDITOR'S NOTES
  19.  
  20.   Christine Gianone
  21.   Columbia University, New York City
  22.  
  23. Welcome to the third issue of  Kermit  News.    This  newsletter  is  published
  24. whenever enough news is gathered to report, and time permits.  The two previous
  25. issues were Volume 1, Number 1 (July 1986) and Volume  2,  Number  1  (November
  26. 1987).  We hope to publish the newsletter more frequently in the future.
  27.  
  28. The  Kermit  newsletter attempts to inform Kermit users of new developments and
  29. report on some of the varied Kermit uses.  Readers  who  are  using  Kermit  in
  30. especially  unusual,  interesting,  or beneficial ways are encouraged to submit
  31. articles of about 500 words for publication in  future  issues.    Testimonials
  32. from satisfied Kermit users are always welcome too.
  33.  
  34. Everyone is permitted to copy and redistribute Kermit programs so long as it is
  35. not done for profit.  If you make fixes, changes, improvements,  or  write  new
  36. documentation  of  general  interest,  or  especially  if  you develop a Kermit
  37. program for a system that didn't have one before, you are  encouraged  to  send
  38. your  work back to Columbia University so that we can maintain a definitive and
  39. comprehensive set of Kermit implementations for further distribution.
  40.  
  41. Product News
  42.  
  43. New versions and releases of Kermit programs are continually appearing, as  you
  44. will  see  in the sections "Summary of Recent Releases" (page 9) and "Major New
  45. Releases" (page 3).  In some cases,  a  single  portable  version  is  able  to
  46. replace  several  more  specific  versions,  as  reported  in the "Portable 370
  47. Kermit" article (page 3).  Kermit is currently available for over 300 different
  48. computers and operating systems.
  49.  
  50. DEC's  large  systems,  the  DECsystem-10  and DECSYSTEM-20, have begun to sail
  51. smoothly into eternity.  Our own DEC-20, CU20B,  home  of  Kermit  Distribution
  52. since  its  beginning  in  1981, will be retired this Fall.  After that time we
  53. will no longer be able to provide DEC-20 DUMPER  or  DEC-10  BACKUP/Interchange
  54. format  tapes!    If you need tapes in this format, this is your last chance to
  55. order.  This offer expires September 1, 1988.
  56.  
  57. By popular demand, we have added some new items and  formats  to  our  catalog,
  58. which you may select on the enclosed order form:
  59.  
  60.  - DEC  MicroVAX  TK50  tape cartridges.  These should also be readable on TK70
  61.    drives.  Available for both VAX/VMS and Ultrix-32.  Cartridge #1 holds Tapes
  62.    A, B, and E; Cartridge #2 has Tapes C, D, and E.
  63.  - DEC  MicroVAX  RX50  diskettes  for  VMS  and  Ultrix.  These should also be
  64.    readable on RX33 drives.  Executables, utilities, and documentation  for VMS
  65.    or Ultrix Kermit are included.
  66.  - IBM  PC  MS-DOS  Kermit source diskettes available on IBM PC 5 1/4-inch 360K
  67.    and PS/2 formatted 3.5-inch 720K diskettes.
  68.  - UNIX C-Kermit source on IBM PC 5 1/4-inch diskettes.  These  are  especially
  69.    useful for Xenix users on PC/AT's or similar systems.
  70.  - MacKermit C source on Macintosh formatted 3.5-inch diskettes.
  71.  
  72. Thanks  to  Digital Equipment Corporation for an equipment grant that allows us
  73. to make the MicroVAX TK50s and RX50s, and to  International  Business  Machines
  74. for providing a PS/2 for 3.5-inch and 5 1/4-inch diskette production.
  75.  
  76. Disk Volunteers Needed
  77.  
  78. At  Columbia  University,  we  try  to meet the demand for Kermit programs in a
  79. variety of tape and diskette formats.  Since we don't have one of every kind of
  80. computer  to  make  disks  and  tapes  on,  we  take  every  opportunity to ask
  81. public-spirited volunteers to come forward and make Kermit available on  native
  82. media for the kinds of computers we don't have: Acorn, Apple II, Apricot, Alpha
  83. Micro, Altos, Amstrad, Apollo, AT&T 3Bx, Atari . . .  And those  are  just  the
  84. A's!
  85.  
  86. In the Summary of Recent Releases on the inside back cover you will see some of
  87. our current diskette and tape volunteers.  If you would like to add  your  name
  88. to  the list, please contact Kermit Distribution.  Even better, perhaps, if you
  89. know of a user group for your kind of computer that does non-profit  mail-order
  90. software distribution, please submit Kermit to them and let us know.
  91.  
  92. Have Kermit, Will Travel
  93.  
  94. Frank  da  Cruz  and  I  have  developed  a series of Kermit seminars aimed for
  95. audiences ranging from novice to experienced.  People in the New York City area
  96. may  attend  our courses at Columbia University's Division of Special Programs.
  97. Organizations outside of New York as well as local companies who  would  prefer
  98. in-house  training  might  be interested to know that we have recently begun to
  99. take Kermit "on the road".
  100.  
  101. In November, 1987, Frank and I were invited to Tokyo to teach a  Kermit  course
  102. and  give  a  Kermit presentation at Japan DECUS (Digital Equipment Corporation
  103. User Society).  The course, Fast-Paced Introduction to Kermit, was conducted in
  104. English with Japanese translation.  It covered the basics of terminal emulation
  105. and file transfer between MS-DOS PCs and VAX/VMS, with a brief introduction  to
  106. RS-232   asynchronous   data  communication  and  modems,  and  techniques  for
  107. troubleshooting.
  108.  
  109. The presentation, Kermit: Current Status and Future Directions, was similar  to
  110. the  one  prepared  for  Nashville DECUS in April 1987, except for the UN-style
  111. simultaneous translation and headphones,  the  guest  speakers,  and  the  news
  112. itself.    We  discussed  Kermit's history, design and philosophy, gave a brief
  113. overview of the major new releases, and talked about Kermit performance  issues
  114. and  how  they are addressed by compression, long packets, and sliding windows.
  115. Then Japan's  "Kermit-san,"  Ken-Ichiro  Murakami  of  NTT,  spoke  on  special
  116. considerations  for  Japanese  Kermits: implementations for Japanese computers,
  117. translation among the many computer representations for the different forms  of
  118. Japanese  text  (Kana,  Kanji, Romaji), Japanese-language Kermit documentation,
  119. and Kermit distribution in Japan.  We were charmed by the generous  hospitality
  120. of our hosts, and gratified by the high level of interest in, knowledge of, and
  121. support for Kermit in Japan.  Many thanks to Kohichi  Nishimoto,  Administrator
  122. of Japan DECUS, for sponsoring the trip.
  123.  
  124. In  March  of  this year, we were invited to Switzerland DECUS at St. Gallen to
  125. conduct a course, Advanced Kermit: Use, Installation, and Support, designed for
  126. computer   professionals   who   are   responsible   for  Kermit  within  their
  127. organizations.  Unlike Japan, Switzerland has  no  common  language,  so  Swiss
  128. DECUS  is  conducted  in English.  The all-day course was quite successful, and
  129. well-attended despite the blizzard outside.  The topics ranged  from  tutorials
  130. in  Kermit use and data communications to customization via script construction
  131. and key redefinition, illustrated using a MicroVAX 2000 and  a  Toshiba  laptop
  132. connected  to  a  projection  screen.   We are grateful to David Guerlet, Swiss
  133. DECUS Chairman, for the invitation and for his gracious  hospitality.    Course
  134. handouts  included  the  new  MS-DOS Kermit 2.30 and manual, plus MS-DOS Kermit
  135. documentation  translated  into   German   by   Gisbert   W.   Selke   of   the
  136. Wissenschaftliches  Institut  der  Ortskrankenkassen  in  Bonn, whom we had the
  137. opportunity to meet with in Ludwigsburg, West Germany.
  138.  
  139. Later in the month we met with the "Club Kermit" board of directors  in  Paris.
  140. Club  Kermit  is a non-profit association, founded by Jean Dutertre, devoted to
  141. the distribution and promulgation of Kermit in France.    Club  Kermit  may  be
  142. contacted at 9 Av. Vergriand, 78600 Maisons Laffitte, France.
  143.  
  144. The  entire  Kermit  Distribution  collection  was  presented to both Japan and
  145. Switzerland DECUS, as well as to Club Kermit in France.
  146.  
  147. KERMIT DOCUMENTATION
  148.  
  149. Kermit manuals have been translated into  Japanese,  French,  German,  Italian,
  150. Hungarian  and  Portuguese,  but  so  far we have only the Portuguese available
  151. online,  plus  some  German  help  files.    If   you   have   machine-readable
  152. translations, please send them in!
  153.  
  154. Kermit  User  Guide,  7th Edition (May 1988).  Detailed instructions for use of
  155. selected Kermit programs.  New chapters for MS-DOS Kermit 2.30, UNIX Kermit 4E,
  156. IBM  370  Kermit  4.0 for VM/CMS and MVS/TSO, VAX/VMS Kermit 3.3, DEC-20 Kermit
  157. 4.2, PDP-11 Kermit 3.58, Apple  II  Kermit  3.81,  Macintosh  Kermit  0.9,  and
  158. CP/M-80  Kermit  4.09.  The printed version is typeset, with boldface, italics,
  159. underlining, etc, used to clarify the examples.  The 7th edition  of  the  User
  160. Guide  is much thicker than the 6th, hence the higher price.  Selected chapters
  161. are available separately: MS-DOS, Macintosh, UNIX, VMS.
  162.  
  163. Kermit, A File Transfer Protocol, by Frank da Cruz, Digital Press (1987).    An
  164. introduction  to, and comprehensive reference on, Kermit: its purpose, its use,
  165. its commands, its design.   Complete  with  tables,  illustrations,  tutorials,
  166. appendices,  a glossary, etc, as well as a troubleshooting guide and a complete
  167. specification of the Kermit  protocol,  with  programming  examples  in  the  C
  168. language.  Review clips:
  169.  
  170.  - " . . . an  unprecedented,  self-contained  book  about  a media-independent
  171.   point-to-point 'filegram' protocol that is robust and  adaptable  to  a  wide
  172.   variety  of  systems . . .  an excellent reference source."  -J. Klaczak, ACM
  173.   Computing Reviews, March 1988
  174.  - " . . . addresses the needs of a full spectrum of users, from  the  computer
  175.   semiliterate who has only used 'canned' programs, to the experienced user who
  176.   merely wants to learn the Kermit command set, to the programmer who wants  to
  177.   implement Kermit on a new computer.  [It is] a friendly book that puts you at
  178.   ease with amusing and informative  illustrations."    -James  Heliotis,  IEEE
  179.   Computer, December 1987
  180.  - " . . . highly  recommended,  not  only for its KERMIT information, but also
  181.   for the first 100 pages, which are one  of  the  finest  discussion  of  data
  182.   communications  anywhere."    -Merv  Adrian,  "The  Workstation  Data  Link",
  183.   McGraw-Hill (1988)
  184.  
  185. Info-Kermit Digest, 1985-present.  This is the  electronic  Kermit  newsletter,
  186. issued   approximately   twice   monthly,   to  thousands  of  readers  on  the
  187. international academic computer networks BITNET/EARN, CSNET, CCNET,  etc,  with
  188. contributions  from  Kermit  users  and developers all over the world.  Printed
  189. versions are now available, paginated and indexed for easy reference.  Included
  190. are  announcements of new releases, discussions of proposed new features of the
  191. protocol, problems and solutions.
  192.  
  193. MAJOR NEW RELEASES
  194.  
  195. MS-DOS KERMIT 2.31
  196.  
  197. Short on the heels of version 2.30 of MS-DOS Kermit comes another new  release,
  198. this  time  2.31,  also from Professor Joe R. Doupnik of Utah State University.
  199. But  before  talking  about  2.31,  let's  correct  a  major  omission  in  the
  200. announcement  of 2.30 in the last issue: Tektronix graphics terminal emulation.
  201. IBM PC Kermit 2.30 and later includes emulation of the Tek 4010, plus some 4014
  202. line  drawing features, on most popular displays, including CGA, EGA, Hercules,
  203. Olivetti, AT&T, and even character-mode simulation on systems with no  graphics
  204. boards at all!
  205.  
  206. Major  new  features  for  version 2.31 include expanded support for local area
  207. networks (see article on page 4), and new support  for  Kermit  file  attribute
  208. packets,  so  that  file  sizes,  creation  dates, and other information can be
  209. conveyed along with the file itself (page 6).  And there's  now  a  transaction
  210. log,  so  that  you can come back after a long unattended file transfer session
  211. and find out what happened.
  212.  
  213. But the biggest change for 2.31 is in the script and macro language.  It is now
  214. possible  to  define  variables,  to  call macros with parameters, to construct
  215. loops, to perform conditional GOTOs, to reexamine previous  INPUT  strings,  to
  216. delay operations until a predetermined time of day, and much more.
  217.  
  218. Thanks once again to Joe for his excellent work and generous spirit, and to the
  219. many beta testers for bug reports and fixes.  MS-Kermit 2.31  is  available  on
  220. Tape A, prefix MS, and on diskette.
  221.  
  222. Since  MS-DOS  Kermit  runs on so many different machines, not all versions are
  223. updated at once.  IBM PCs and compatibles are done first,  with  other  systems
  224. like  Rainbow,  Sanyo,  HP, NEC, and Victor following later.  As of press time,
  225. version 2.31 is available only for the IBM's and compatibles, the DEC  Rainbow,
  226. the HP-150, and "generic MS-DOS."
  227.  
  228. MACINTOSH KERMIT 0.9(40)
  229.  
  230. Macintosh  Kermit  0.9(40),  by  Paul  Placeway  of  Ohio  State University and
  231. Matthias Aebi of  ECOFIN  Research  and  Consulting,  Ltd,  Zuerich,  based  on
  232. Columbia's  original  MacKermit,  was  released in May 1988.  MacKermit 0.9(40)
  233. runs on all Macs except the 128K original,  for  which  the  previous  release,
  234. 0.8(34), is still available.
  235.  
  236. As  of  0.9,  MacKermit has been translated into Apple MPW C, so that it can be
  237. edited, compiled, and built on the Macintosh itself.  Previous versions had  to
  238. be  cross-compiled  on a Unix system.  MacKermit's new features include correct
  239. operation on the Mac II and SE; compatibility  with  all  Macintosh  keyboards;
  240. long  packet  support; a built-in, expanded key redefinition function; expanded
  241. server operation; multifile (folder) send; screen capture; transaction logging;
  242. Multifinder support; improved VT102 emulation, including the addition of smooth
  243. scrolling; and a new manual.
  244.  
  245. Thanks to everyone who tested different prereleases of this program since  last
  246. October,  and  apologies  to  those of you who ordered MacKermit from us in the
  247. last several months and received a 0.9(36) beta-test copy without an up-to-date
  248. manual.  And many thanks to Paul and Matthias for putting this release together
  249. and making it available.  Both the new MacKermit and the old MacKermit (version
  250. 0.8(34)  for  the  128K  Macintosh)  are available on Tape B, prefix CK, and on
  251. Macintosh diskette.
  252.  
  253. KERMIT-370 4.0 FOR CMS & TSO
  254.  
  255. Portable IBM 370 Kermit was described by John Chandler of Harvard University in
  256. the  last  issue of the newsletter.  Since then, this program has been released
  257. for  both  VM/CMS  and  MVS/TSO  systems.    It  is  a  very  advanced   Kermit
  258. implementation,   operating   in  both  the  linemode  (3705)  and  full-screen
  259. 3270-emulation environments with a variety of protocol emulators, including the
  260. IBM Series/1, 4994, and 7171, as well as several non-IBM models.
  261.  
  262. Kermit-370  retires  several  redundant  versions  of  TSO  and  CMS Kermit, in
  263. particular the venerable 1.0 for TSO, which had separate incarnations for  each
  264. of  several  types of front ends.  Kermit-370 is available on Tape B, with file
  265. prefix IK.  It is distributed in IBM 370 assembly language  source  form,  with
  266. complete assembly and installation instructions.
  267.  
  268. CP/M-80 KERMIT 4.09
  269.  
  270. This  is  the  first  new  release  of CP/M-80 Kermit since February 1985, when
  271. Charles Carvalho updated Columbia's original CP/M Kermit program to consolidate
  272. support  for  different systems and to add some new features.  This process has
  273. been carried forward by Bertil Schou of Loughborough University in the UK,  who
  274. has  further  modularized  the program, improved its performance, added support
  275. for many new systems, and put in some new features too.  Version 4.09  supports
  276. more  than 60 different CP/M systems, ranging from the Kaypros and Osbornes, to
  277. various British micros, to the homemade models from the BYTE  Magazine  Circuit
  278. Cellar.
  279.  
  280. New  features  for  this  version  include  a selection of terminal emulations;
  281. standardized file transfer command syntax; command-line arguments; command  and
  282. initialization  files;  TYPE,  PRINT,  and  COPY  commands;  increased speed on
  283. DIRECTORY and wildcard SEND  operations.    The  program  is  written  in  8080
  284. assembly  language,  and  can  be  assembled  using  LASM  or the Microsoft M80
  285. assembler.
  286.  
  287. Many thanks to Bertil for this long-term effort, to  Alan  Phillips  and  Steve
  288. Jenkins  at  Lancaster  University  for  sending  this  new  version  to us via
  289. transoceanic magnetic tape, and to the many others in the UK and elsewhere  who
  290. contributed  to  the  new release.  CP/M-80 Kermit 4.09 is available on Tape A,
  291. prefix CP.  As always, diskette volunteers and user-group diskette distribution
  292. are welcome!
  293.  
  294. CONTRIBUTIONS
  295.  
  296. MS-Kermit on Local Area Networks
  297.  
  298.   Joe R. Doupnik
  299.   Utah State University
  300.  
  301. About one year ago Local Area Network support was incorporated in MS Kermit for
  302. IBM PCs, thanks to support and advice from AT&T.  In contrast to the common use
  303. of  LANs to connect workstations to network fileservers, Kermit uses the LAN to
  304. talk  to  other  Kermits  or  to  selected  mainframe  hosts;  this  is  called
  305. peer-to-peer  or any-to-any communications.  The same MS Kermit program for IBM
  306. PC's which happily talks over a modem or a direct RS-232  connection  can  also
  307. use  almost  all  popular LANs.  These days when offices are wired for LANs but
  308. not RS-232, it is nice to know that Kermit  can  exploit  the  new  high  speed
  309. technology.
  310.  
  311. How  does  Kermit  connect  to  a  Local  Area Network?  Three kinds of network
  312. connections can be made.  The first  kind  is  through  the  industry  standard
  313. NetBios  interface (interrupt 5CH) which is supplied with virtually all current
  314. LAN systems.  The Kermit command 
  315.  
  316.     SET PORT NET host-name
  317.  
  318. selects the LAN's NetBios channel, rather than the familiar  serial  port,  and
  319. attempts  to connect to the named host system.  That is the only Kermit command
  320. which distinguishes network from serial port  operations;  everything  else  is
  321. exactly  the  same.    All the LAN-specific work is carefully hidden behind the
  322. scenes and operates automatically.  A BREAK signal  can  even  be  sent  across
  323. STARLAN and Ungermann-Bass systems.
  324.  
  325. NetBios  systems  use  names  for  each  station and each active Kermit makes a
  326. unique name for itself.  Connections to other Kermits are done by name.    This
  327. technique  works  well  even on LAN systems such as Novell Netware which do not
  328. otherwise really use NetBios names.
  329.  
  330. The second connection method is to send and receive through  a  vendor-supplied
  331. intercept  package  which  masquerades  as  a  serial port.  Many LANs and X.25
  332. systems provide such packages.  The Kermit command 
  333.  
  334.     SET PORT BIOSn (n = 1..4)
  335.  
  336. tells Kermit to use the  system  Bios  so  that  the  interceptor  can  capture
  337. traffic.    Commonly,  one  "logs  on"  to the network package by behaving as a
  338. terminal (Kermit's Connect mode) and telling the interceptor the name of remote
  339. host,  terminal  type,  and  so forth according to the rules of the LAN system.
  340. Thereafter, Kermit operations are the same as using  a  modem  or  wired  line.
  341. (BIOSn support requires 2.31.)
  342.  
  343. A  third connection method is the Ungermann-Bass NetOne LAN system through UB's
  344. specialized NETCI (interrupt 6BH) LAN calls.  The Kermit command 
  345.  
  346.     SET PORT UB-NET1
  347.  
  348. starts such a connection.  Further "logon" commands are  issued  from  Kermit's
  349. terminal emulator.  UB support was provided by Rene Rehmann in Switzerland, and
  350. Henrik Levkowetz in Sweden.  This kind of  connection  directs  traffic  to  an
  351. outgoing  bridge  which  simulates  ordinary  asynchronous  character  terminal
  352. activity to modems and other computers.  (NetOne support is available  only  in
  353. Kermit version 2.31.)
  354.  
  355. What  can  MS  Kermit  do  across a LAN?  First, it works fast!  As fast as the
  356. computers at each end can execute  Kermit,  roughly  40,000+  bits  per  second
  357. between standard AT's.
  358.  
  359. Second, Kermit can talk to other Kermits on the network as a Client (requestor)
  360. Kermit to a Server Kermit.  Many such pairings  can  be  active  simultaneously
  361. without  disturbing  normal  LAN operations.  Each pair uses the NetBios unique
  362. names to make a formal connection, or "virtual circuit."    Thus  one  or  more
  363. Kermits  can  be  named  Servers and provide file exchanges between cooperating
  364. stations, at the whim of individual users.  A Kermit Server (using the  NetBios
  365. connection)  left  running all day can attend to many clients, one at a time of
  366. course.  Since Kermit is not  a  Terminate-Stay-Resident  program,  workstation
  367. memory is freed when communications are finished.
  368.  
  369. Third, Kermit can act as a decent terminal (VT102, VT52, Heath-19 for text, and
  370. Tektronix 4010+ for both text and color graphics) for connections to mainframes
  371. and  X.25  systems  joined to the LAN; this seems to be one of the most popular
  372. options.  Of course, where terminal traffic  can  flow  usually  one  may  find
  373. another Kermit to support file transfers.
  374.  
  375. What  MS-Kermit cannot do:  Well, it does not know how to converse with the LAN
  376. fileserver even though the network's pseudo disk drives work fine with  Kermit.
  377. The  reason  is  filesevers  talk  arcane proprietary languages across the LAN.
  378. Similarly, it does not know about other specialized operations associated  with
  379. LAN servers, such as asynchronous modem servers, unless the LAN vendor supplies
  380. software replacing the normal serial port driver on the workstation (some  X.25
  381. systems and UB do this).
  382.  
  383. Kermit  cannot  act  as  a bridge to relay traffic from one source, say the LAN
  384. workstation, to another destination such as an attached  modem.    Kermit  says
  385. "Packets stop here," to borrow from Harry Truman.
  386.  
  387. What  is needed to use MS Kermit across a LAN? One each: MS-Kermit version 2.30
  388. or later for IBM PCs (2.31 for BIOSn or NetOne support),  a  LAN  of  arbitrary
  389. size  and  manufacture,  a  matching  LAN  adapter  board for the PC set to LAN
  390. adapter board number zero.  Mix well, enjoy.
  391.  
  392. Dynamic Packet Size Control
  393.  
  394.   John Chandler
  395.   Harvard University
  396.  
  397. Kermit-370 release 4.0 (for CMS  and  TSO  and,  potentially,  other  operating
  398. systems   on  IBM/370-type  mainframes)  has  introduced  a  new  feature  with
  399. importance to the transmission of long packets, namely,  dynamic  tailoring  of
  400. the   packet  size  to  noise  conditions  on  the  communication  line.    The
  401. implementation in release 4.0  is  a  greatly  simplified  version  of  a  more
  402. detailed  model that will be sketched out here.  In essence, the model rests on
  403. a few simple assumptions:
  404.  
  405. 1. Transmission errors have a Poisson distribution, i.e., occur  randomly  and
  406.    not too frequently.
  407. 2. The  effective speed is limited by both the transmission line data rate and
  408.    the CPU processing speed (both of which add delays proportional to the 
  409.    number of bytes exchanged).
  410. 3. Each  exchange of a packet and its acknowledgment is accompanied by a fixed
  411.    communication dead time, which may include any combination of computer time
  412.    sharing waits, line turnaround, satellite transmission delay, or other fixed
  413.    overhead.
  414. 4. Noise between packets has no ill effects.  Thus, errors  occur  effectively
  415.    only in data packets, since those are much longer than the acknowledgments.
  416. 5. Each transmission error corrupts, but does not destroy, a packet.
  417.  
  418. With  these  assumptions,  it  is  relatively  straightforward  to  compute the
  419. throughput of a Kermit  transmission  in  data  bytes  per  second,  given  the
  420. relevant quantities:
  421.  
  422.  - B, the block check type;
  423.  
  424.  - P, the packet size (including the SOH and EOL);
  425.  
  426.  - V , the computer encoding/decoding speed (serial, both computers);
  427.     C
  428.  
  429.  - V , the communication line speed;
  430.     L
  431.  
  432.  - X, the packet overhead (i.e., the number of non-data bytes in each packet);
  433.  
  434.  - T , the packet dead time; and
  435.     D
  436.  
  437.  - T , the average time between errors.
  438.     E
  439.  
  440. In these terms, the throughput is
  441.                                
  442.     (P-X) * exp(-P / (V  * T ))
  443.                        L    E
  444.     ---------------------------
  445.     (P+5+B) * (1/V +1/V ) + T  
  446.                   L    C     D
  447.  
  448. A  plot  of  throughput  versus packet size for this model has a characteristic
  449. shape, rising sharply at small P,  then  leveling  off  and  finally  declining
  450. gently  at  large  P.  Since the throughput goes through a maximum, there is an
  451. optimum packet size, which can be found analytically from  the  expression  for
  452. throughput.    Indeed,  if  the average time between errors is reasonably long,
  453. i.e., if the mean number of  characters  transmitted  between  errors  is  much
  454. greater than 20, and if T  is much less than T , the optimum packet size can be
  455.                          D                    E
  456. approximated by
  457.  
  458.     sqrt((X+5+B+D) * V  * T )
  459.                       L    E
  460.  
  461. where D = T  / (1/V  + 1/V ) is the  number  of  bytes  that  could  have  been
  462.            D       L      C
  463.  
  464. transmitted during the unavailable dead time.
  465.  
  466. In  order  to  use  this  model, Kermit must have the theoretical quantities in
  467. terms of observable ones.  For example, V  * T  is, in the long run,  equal  to
  468.                                          L    E
  469. the  total  number  of  bytes  transmitted (both ways) divided by the number of
  470. errors, i.e., by the number of packets that must be resent.  In  short,  Kermit
  471. can  keep  a running tally of bytes, packets, and retries during a transmission
  472. and from  them  compute  the  optimum  packet  size  dynamically.    If  T   is
  473.                                                                           D
  474. negligible,  then  Kermit needs only a total of bytes sent (and received) and a
  475. count of bad packets.  Otherwise, Kermit must  also  have  available  the  line
  476. speed  V   plus  a  count  of packets exchanged and the elapsed time.  From the
  477.         L
  478. tallied quantities, b, the total number of bytes exchanged; e,  the  number  of
  479. error  retries;  p,  the number of packet exchanges; and t, the elapsed time, a
  480. Kermit program can obtain the approximate optimum packet size in either of  two
  481. ways.  Assuming negligible dead time gives
  482.  
  483.     sqrt((X+5+B) * b/e)
  484.  
  485. which  underestimates  the  optimum,  and  making allowance for large dead time
  486. gives
  487.  
  488.     sqrt((b/p - (X+5+B)) * (V  * t - b) / e)
  489.                              L
  490. which overestimates by virtue of assuming that V  far exceeds V .
  491.                                                 C              L
  492. Kermit-370 has an implementation of the first expression, with the handy  value
  493. 16  substituted  for  X+5+B  (which would be 15 for B=1 and 19 for B=3).  It is
  494. clear from the two expressions that the optimum cannot be calculated  if  there
  495. are  no  transmission  errors;  the  optimum  length would be infinite, and the
  496. packet size can be just what the other Kermit requested.  When the  long-packet
  497. protocol  is  in effect, Kermit-370 checks after every 20 packets during a SEND
  498. to see if there have been any errors and, if so, computes  the  optimum  packet
  499. length  based  on  the  formula and uses that optimum size as an upper bound on
  500. subsequent packets.  Simulations (with V  at 120  bytes/sec)  have  shown  that
  501.                                         L
  502. this  method,  while  typically  forcing  the  packet  sizes to be smaller than
  503. optimal, achieves at least 94% of the maximum possible throughput as long as T 
  504.                                                                               D
  505. is not significantly greater than one second and achieves essentially 100% when
  506. T  is  less  than  half  a  second.    At  higher  speeds,  the  dead  time  is
  507.  D
  508. correspondingly more critical.
  509.  
  510. There  are  three  main drawbacks to this simplified implementation.  First, it
  511. does poorly  with  extreme  T   (but  that  could  be  remedied  by  adding  an
  512.                              D
  513. informational  SET  SPEED to Kermit).  Second, it responds slowly to changes in
  514. the noise environment (but that could be improved by replacing  the  cumulative
  515. tallies with shorter-term subtotals).  Third, it fails insofar as assumptions 4
  516. or 5 do.    For  example,  if  errors  caused  packets  to  disappear,  thereby
  517. triggering  timeouts  as well as retransmissions, a quite different model would
  518. be needed.
  519.  
  520. Kermit File Attributes
  521.  
  522.   Frank da Cruz
  523.   Columbia University, New York City
  524.  
  525. The basic Kermit protocol allows one computer to send files to another, so that
  526. each  file  arrives  at its destination correctly and completely, under its own
  527. name.  But there are times when file transfer  could  be  more  useful  if  the
  528. receiving  computer  knew  a  little bit more about the file: its type (text or
  529. binary), its  size,  creation  date,  protection,  or  record  format.    These
  530. characteristics are called "file attributes".
  531.  
  532. Users  of  MS-DOS  Kermit,  for  example,  have  long  been  able  to watch the
  533. comforting "Percent Done" display when sending files, but when  receiving  them
  534. this  information  is  missing.    If  the  sending Kermit was able to tell the
  535. receiver in advance how big the file was, then  not  only  could  the  receiver
  536. display  the  percent  done,  but  it could also check whether there was enough
  537. space available for the file before agreeing  to  accept  it,  saving  needless
  538. aggravation when disks fill up.  Certain systems even require preallocated disk
  539. space before a file can be sent.
  540.  
  541. The Kermit protocol defines a way for Kermit programs to convey file  attribute
  542. information  along  with  the  files  they  send.  This is called the Attribute
  543. packet.  One or more A-packets can  be  sent  following  Kermit's  File  header
  544. packet,  and preceding the file data, provided both Kermit programs agree to do
  545. this during the feature negotiation phase.  If  they  don't  agree,  files  are
  546. transferred in the normal way, without attribute information.
  547.  
  548. The  first  implementation  of  the  file attribute mechanism was done by Brian
  549. Nelson of the University of Toledo, Ohio, for  PDP-11  Kermit  in  April  1984.
  550. This  was  necessary because transferring the name and contents of a file alone
  551. was  not  sufficient  for  the  PDP-11's  sometimes  complex  file  and  record
  552. structure.    By using Kermit's "system-dependent" file attribute field, PDP-11
  553. Kermit is able to transmit a file's entire directory entry along with the file,
  554. so  that  when  the receiver is a PDP-11, any file can be stored in exactly the
  555. same way as on the originating system.
  556.  
  557. Kermit defines a series of "generic" file  attributes,  including  size,  date,
  558. type,  and  system  of  origin  to  allow  the  transferred file to reflect the
  559. original as much  as  possible.    One  attribute  of  particular  interest  is
  560. "disposition"  -  what  to do with the file after it arrives.  Normally, Kermit
  561. simply stores it on the current disk.  The  disposition  attribute  allows  the
  562. sender  to  tell  the  receiver to print it instead, or to send it as mail to a
  563. specified user, or to submit it as a batch job, or to run it as a  program,  or
  564. to  archive  it.    MS-DOS  Kermit 2.31, for instance, includes a MAIL command,
  565. which allows the PC user to transfer a file to a Kermit server  for  forwarding
  566. to  the  given  user  as mail (unfortunately, there are no Kermits yet that can
  567. respond to this command, but the ability to mail  should  appear  in  the  next
  568. release of C-Kermit).
  569.  
  570. Kermit  file  attributes  are  described  in  Chapter  12  of  the Kermit book.
  571. Additional attributes are expected to be defined in the future, for instance to
  572. allow for representation of text files during data transfer in other than 7-bit
  573. US ASCII format according to evolving  ISO  8859  standards  for  international
  574. character sets.
  575.  
  576. Like other advanced options, file attribute capability is gradually finding its
  577. way into Kermit programs.  Those that support it today  include  MS-DOS  Kermit
  578. 2.31 (A:MS), IBM PC Turbo Pascal Kermit 1.1a (A:TP4), Kermit-370 4.0 for VM/CMS
  579. and MVS/TSO (B:IK), PDP-11 Kermit (B:K11), as well as some  of  the  commercial
  580. Kermit  implementations.   Attribute support is planned for the next release of
  581. C-Kermit.
  582.  
  583. SUMMARY OF RECENT RELEASES
  584.  
  585. Here  is  a  concise  list  of Kermit releases since our last issue in November
  586. 1987.  The notation (A:XYZ) means the version is available on tape A, as  files
  587. whose  names  start  with XYZ; "diskettes" mean the item is also available from
  588. Columbia Kermit Distribution on diskette (see order form).   Volunteers  listed
  589. when available.
  590.  
  591. Micros and PCs:
  592.  
  593. - MS-DOS  Kermit  2.31  for the IBM PC and PS2 family and compatibles, the DEC
  594.   Rainbow, the HP-150, and generic MS-DOS, written in Microsoft Macro Assembler
  595.   (MASM)  by  Joe  Doupnik, Utah State University, June 1988 (A:MS, diskettes).
  596.   See articles on pages 3 and 4.
  597.  
  598. - MS-DOS Kermit 2.30 for NEC APCIII, MASM, Bob Goeke,  MIT  Center  for  Space
  599.   Research,  Mar  88  (A:MS).    Also  on 5.25" diskette from Robert Goeke, MIT
  600.   Center for Space Research, Room 37-567, 77 Massachusetts Ave,  Cambridge,  MA
  601.   02139.    Send  1 disk for executable; 4 disks for source code, and a stamped
  602.   return mailer.
  603.  
  604. - MS-DOS Kermit 2.30 for the  Sanyo  MBC  555,  MASM,  Bob  Babcock,  Harvard/
  605.   Smithsonian  Center for Astrophysics, May 88 (A:MS).  Also available on 5.25"
  606.   diskette from Bob Babcock, Sanyo New England Users Club Librarian,  4  Reeves
  607.   Road, Bedford, MA 01730, USA.  Cost: $5 for executable and documentation, $10
  608.   for same plus source code on DS disks, $6/12 for SS disks.   Foreign  orders:
  609.   Pay in US funds, add $3 shipping.
  610.  
  611. - MS-DOS  Kermit  2.30  for  the  ACT  Apricot,  MASM,  Dick Carlton, The Open
  612.   University, UK, May 88 (A:MS).
  613.  
  614. - Intel iRMX-86 and iRMX-286 Kermit 2.30, based on MS-DOS  Kermit  2.30,  Jack
  615.   Bryans,  California  State University at Long Beach, May 88 (A:MS).  Provides
  616.   most of the functions of IBM PC MS-Kermit.  Also on 5.25"  diskette  for  $10
  617.   from  CSULB  University  Bookstore  Computer  Shop,  6049 E. 7th Street, Long
  618.   Beach, CA 90840 (specify Disk 1).
  619.  
  620. - MS-DOS QK-Kermit Version 3.0 in Turbo  Pascal  Version  4  for  the  IBM  PC
  621.   family,  with  Tektronix  emulation, Victor Lee, Queens University, Kingston,
  622.   Ontario, Apr 88 (A:QK).  Improved graphics, support for a variety of graphics
  623.   adapters.   Also available on diskette for $10 (Canadian or US, incl. manual)
  624.   from Victor Lee, Computer and Communications Services, Dupuis  Hall,  Queen's
  625.   University, Kingston, Ontario, CANADA K7L 3N6 (USA & Canada only).
  626.  
  627. - MS-DOS  Kermit  1.1a  for  the  IBM PC family and compatibles, Turbo Pascal,
  628.   Terje Mathisen, Norsk Hydro Data, Norway, Apr 88 (A:TP4).   Sliding  windows,
  629.   long packets, attributes.  Rudimentary dumb terminal emulation.  This version
  630.   came to us indirectly; we've had no contact with the author.
  631.  
  632. - Macintosh Kermit 0.9(40) from Paul Placeway and Matthias Aebi, MPW C, Jun 88
  633.   (B:CK, diskette).  See article on page 3.
  634.  
  635. - Apple  II  DOS and ProDOS Kermit-65 Version 3.81, 6502 Assembler, Ted Medin,
  636.   Feb  88  (A:APP).    New  features  include  wildcard  send,  improved  VT100
  637.   emulation,  new  manual.  Also available on 5.25" diskette for $10 from Peter
  638.   Trei, 15 Sickles Street, New York, NY 10040 (USA only).
  639.  
  640. - Commodore  64/128  Kermit  2.1(68),  6502  Assembler,  Ray   Moody,   Purdue
  641.   University,  Apr  88,  (A:C64).   New features include limited Tektronix 4010
  642.   emulation and improved VT100 emulation.  Also available on  diskette  for  $5
  643.   ($10  with  manual)  from  Dr.  Evil Laboratories, P.O. Box 190, St. Paul, IN
  644.   47272 (USA only, Indiana residents add 5% sales tax).
  645.  
  646. - CP/M-80 Kermit Version 4.09, LASM, Bertil  Schou,  Loughborough  University,
  647.   UK, 18 May 88 (A:CP).  See article, p.3.
  648.  
  649. Minis, Mainframes, and Supercomputers:
  650.  
  651. - IBM   Mainframe  Kermit  4.0  for  VM/CMS,  370  Assembler,  John  Chandler,
  652.   Harvard/Smithsonian Center for Astrophysics, Dec 87 (B:IK).  See  article  on
  653.   page 3.
  654.  
  655. - IBM  Mainframe  Kermit  4.0  for MVS/TSO, 370 Assembler, John Chandler, loc.
  656.   cit., Mar 88 (B:IK).
  657.  
  658. - VAX/VMS   Kermit-32   3.3.117,   the   Stevens   Institute   of   Technology
  659.   Bliss-language version, modified by Jonathan Welch of Amherst College, MA, to
  660.   fix several bugs and add some minor features, Jun 88 (B:VMS).
  661.  
  662. - C-Kermit 4E(070)  for  UNIX,  VMS,  etc,  in  C,  Frank  da Cruz,  Columbia
  663.   University,  New  York,  Jan  88  (B:CK).    Minor  fixes and improvements to
  664.   4E(067), the first long-packet C-Kermit release.
  665.  
  666. - C-Kermit 4E(070) adapted to OS-9/68K, Bob Larson, Feb 88 (B:CK).
  667.  
  668. - C-Kermit  4D(061)  adapted  to  Andrew  Tanenbaum's  MINIX,  Adrian  Godwin,
  669.   Bedford, UK, Feb 88 (B:MX).
  670.  
  671. - CDC  Cyber  NOS  Kermit  3.4, Fortran, Steve Roseman, LeHigh University, and
  672.   Olaf Pors, University of Virginia, May 88 (D:CD3).   Wildcards,  compression,
  673.   long  packets,  init  &  take  files, support for CDCNET, bug fixes, many new
  674.   commands.
  675.  
  676. - DECSYSTEM-20 Kermit 4.2(262), Assembler, Frank  da Cruz,  Jan  88  (B:K20).
  677.   Minor improvements.
  678.  
  679. - Honeywell  CP-6  Kermit 1.00, PL/6, Lee Hallin, Honeywell Bull, Los Angeles,
  680.   CA, Jan 88 (D:HC6).  Improved performance, bug fixes, some new features.
  681.  
  682. - Harris-100 Kermit 1.06, Fortran-77, Skip Russel, Washington University,  St.
  683.   Louis, MO, Mar 88 (D:H1).  Bug fixes.
  684.  
  685. - MAI  Basic Four Kermit in Business Basic, E.V. Wastrodowski, Sphere Holdings
  686.   Ltd, Laguna Hills, CA, Apr 88 (D:MBF).  First Kermit release for this system.
  687.