On Thu, Jul 10, 2025 at 07:23:19PM -0500, Mark S Waterbury wrote:
Does anyone recall any details about "EXCHANGE" -- software originally
developed by UCLA for OS/360 MVT, and later ported to MVS.
This allowed message passing between regions or address spaces, using
a concept where one job would put a message up on a "shelf" (in CSE in
MVS), and the target job could periodically check that (named) "shelf"
for any messages.
I can barely find any mention of "The EXCHANGE" from ULCA on the interweb.
That was a long time ago. I found a reference to the programming manual
for the Exchange:
Braden, R., and Feigin, S., "Programmer's Guide to the Exchange".
Technical Report TR5, Office of Academic Computing, UCLA,
March 1972.
The related department name at UCLA was called Campus Computing Network
back in 1972 (UCLA/CCN) but later changed it's name to the obove Office
of Academic Computing (UCLA/OAC).
I found some references but no copies on the web:
https://scholar.google.com/scholar?q=Braden%2C+R.+T.+and+Feigin%2C+S.+C.%2C+%22Programmers%27+Guide+to+the+Exchange%2C%22+CCN+Technical+Report+%23TR5%2C+Campus+Computing+Network%2C+UCLA%2C+Los+Angeles%2C+Calif.%2C+March+1972%2C+52+pp.%5D%5D
https://www.computerhistory.org/collections/catalog/102687847/
The original version of that would say Campus Computing Network but
was still TR5.
That was many years ago, and both authors are deceased.
The Exchange only ran on MVT. MVT had only real memory and thus one
address space and did not implement storage fetch protection. At least
some usage of EXCH depended on that. EXCH was implemented as a small
type 1 SVC linked into the MVT nucleus.
It predated TSO at UCLA/CCN and originally didn't support TSO sessions
at all. Later when TSO support was added to Exchange it had to interact
with TSO to cause swapins. I suspect that only one end of the Exchange
could be a TSO session.
It was loosely based on the idea of EXCP, with an EXCH macro for
assembler users, and also had a PL/1 CALL level interface (what today
we call an "API".)
The origin of Exchange was before my time so I don't know about the EXCP
reference or Exchange origins. When I showed up at UCLA it was
already established in use and use was expanding.
The Exchange was used internally at UCLA/CCN on the 360/91 for many
purposes as well as used by the ARPA control program. (This was the
original ARPAnet before TCP/IP, UCLA/CCN was one of the early hosts on
the original ARPA research network.)
Braden email on 360/91 as host
https://www.sophiehonerkamp.com/othersite/isoc-internet-history/2012/may/msg00095.html
https://en.wikipedia.org/wiki/Interface_Message_Processor
TCP/IP Implementations and vendors guide
https://apps.dtic.mil/sti/citations/ADA165418
https://apps.dtic.mil/sti/pdfs/ADA165418.pdf
Feburary 1986
pdf page 75 IBM VM
pdf page 77 IBM VM WISCNET
pdf page 80 UCLA MVS --> UCLA ACP
UCLA ARPANET control program
https://en.wikipedia.org/wiki/File:Interface_Message_Processor_Front_Panel.jpg
ARPAnet logical map 1977
shows UCLA 360/91 connected
https://en.wikipedia.org/wiki/File:Arpanet_logical_map,_march_1977_PDP-10.png
Does anyone recall if this software was ever made available on any of the
SHARE tapes, e.g. for the OS/360 MVT or MVS projects, etc.? Or elsewhere?
I don't believe that the Exchange was ever on a SHARE tape but I might
be wrong. It was referenced in the ARPA control program documentation
but I don't believe it was distributed with the ACP. It may have
been distributed on a direct basis to some sites a long time ago.
The change from MVT to MVS at UCLA/OAC was a major event. Many local
system changes made to MVT were not carried over to MVS including
Exchange, however the UCLA ACP was continued and several paths were
started to support it.
UCLA/IPC (part of UCLA/Mail) was one, another was using ACF/VTAM.
The ACP wound up using the VTAM choice, UCLA/Mail was started as a test
program for UCLA/IPC (the previous internal, non-network, local only
email system was dropped and this replaced it).
Lionel B Dyck
Try this https://www.cbttape.org/uclamail/uclamail.htm
Right. That has a minimum system level of MVS/SP1.3.0. I have some
mods I have yet to distribute which allow assembling and running it on
a base MVS 3.8 system. This involves assembling with ASMG instead of
ASMH as well changes to replace several features of MVS/SP1.3.0 which
were added after MVS 3.8.