#2: Dennis O'Reilly responds

posted Apr 4, 2012, 4:27 PM by Jeff Ogden   [ updated Apr 4, 2012, 4:27 PM ]
On Mar 20, 2012, at 5:52 PM, dennis.oreilly wrote:

Hi Gav,

Long time no see.  I retired from UBC IT last June 30 after over 41 years of working there. Foolishly I am still working a few days a week as a private contractor. 

I don't think the HIM avenue will bear much fruit.  The HIM was software that ran on a PDP11/73 with an Auscom controller that connected the IBM mainframe channel. Bruce Cowan wrote the Auscom device driver in the PDP11.  I wrote the HIM application in the PDP11.  To the IBM mainframe the HIM looked exactly like 168 IBM 3278 model 1D display terminals. The code that ran in the HIM had two flavours.  One flavour translated IBM 3278 fields to/from UBC Virtual Terminal Protocol.  Another flavour translated IBM 3278 fields to/from Merit network protocol. On the MTS side the HIM networking used the 3270 DDR.

Was there a TCP DDR written for MTS?  I vaguely remember writing a TCP DDR. 

How does theTN3270 emulator connect to the 3270 DDR?

Dennis



On Mar 20, 2012, at 6:30 PM, Mike Alexander wrote:

Actually the HIM avenue seems to be bearing fruit nicely (and your timing is excellant).  Tom Valerio has written the start of a HIM emulator for Hercules that works well enough to FTP things to and from MTS.  So far it only works with MTS as a client and then not terribly reliably, but I think I know how to fix most of the problems.  I just last night got this working with my 1996 version of MTS on Hercules.

I don't doubt that HIMs and NIMs did all the things you describe, but HIMs also did IP based networking for MTS, at least at Michigan.  There is a HIM DSP that communicates with the HIM and TCP and UDP DSPs that use this to implement those protocols.  Then there is a Telnet DSP to implement that protocol.  I think most or all of this was done at UBC, but perhaps some of it was done at UM.

I don't think the HIM to MTS protocol for networking was the same as used by the Merit PCPs to talk to MTS for IP connections, but I could be wrong about that.  My recollection is that the PCP used an extension of the existing protocol it had used for years to talk to MTS while the HIM used something different.  My next step is to learn more about this aspect of things by reading the code for the DSPs mentioned above.

I think we can get networking to work pretty well again in MTS using the emulated HIM approach.  Of course this will gives us networking as it was in about 1995 when all serious work on MTS stopped and things have changed a bit since then.  MTS was just then learning about MX DNS records and still relied, at least to some extent, on a table of all known hosts to which it could send EMail.  If you want a list of all BITNET hosts as of 1996, I have it.

        Mike



On Mar 20, 2012, at 10:16 PM, dennis.oreilly wrote:

Hi Mike,

Yah, I think I wrote the TCP, UDP, and Telnet DSPs.

But not sure who wrote the HIM DSP.  Maybe that was done at UM.  Can't remember.

The issue with writing Internet apps on MTS or porting Internet apps to run on MTS was the lack of a usable asynch I/O interface at the MTS Volume 3 API level.

Dennis



On Mar 20, 2012, at 10:34 PM, dennis.oreilly wrote:

BTW I still have in my possession a complete assembly listing of UMMPS from the early 1970's in case that is of interest.



On Mar 20, 2012, at 7:25 PM, Jeff Ogden wrote:

Gavin is or was out of town for a few days. Not sure how quickly he'll be getting caught up on his e-mail.

The HIM may deliver more fruit that you might think.  We don't have to recreate the PDP-11 or Auscom controller.  We just need to create a Hercules emulated HIM device that does the right thing with the various channel commands and maps appropriately to the network services that are available in the native OS in which Hercules is running.  All the programming is in C.

Tom Valerio has been working on that and has made a good deal of progress and has finger and FTP pretty much working. I think Mike is getting involved now too.

I've got a couple of "big picture" questions.

Whenever anyone talks about the HIM I get confused.  If the HIM acts like a an IBM 3274 control unit, how did it support the TCP/IP protocols since those aren't 3270 data stream devices?

I know what a 3278 Display Model 1, 2, 3, 4, and 5 are, but I don't know what a model 1D is.  There was a 3274-1D control unit. Is that what we are after rather than a 3278-1D? The 3274-1D was a locally channel attached (that is not SNA) control unit that supported up to 32 displays and/or printers connected via coax. The 3274-1B was similar to the 1D, but does not support the extended data stream. Both the 1B and 1D are similar to the older IBM 3272 that supported the older 3277 displays.

Did the Message Multiplexor fit into this picture somehow?  The 3274-1D CU used an address for each device, so I wouldn't think multiplexing would be required.  If the MM didn't play a role with the HIM, where did it fit in?

And just to complete the picture, what role did the NIM play?

 Did the path from the user look something like this?

     user<-->pc<-->NIM<-->HIM<-->IBMchannel<-->MTSTask
or
     user<-->pc<-->HIM<-->IBMchannel<-->MTSTask
or
     user<-->pc<-->NIM<-->IBMchannel<-->MM<-->MTSTask
or
     user<-->pc<-->Merit<-->HIM<-->IBMchannel<-->MTSTask
or
     something completely different?

Gavin said it was a memory test :-).

   -Jeff



On Mar 20, 2012, at 10:51 PM, dennis.oreilly wrote:

On 2012-03-20, at 4:25 PM, Jeff Ogden wrote:

Gavin is or was out of town for a few days. Not sure how quickly he'll be getting caught up on his e-mail.

The HIM may deliver more fruit that you might think.  We don't have to recreate the PDP-11 or Auscom controller.  We just need to create a Hercules emulated HIM device that does the right thing with the various channel commands and maps appropriately to the network services that are available in the native OS in which Hercules is running.  All the programming is in C.

Tom Valerio has been working on that and has made a good deal of progress and has finger and FTP pretty much working. I think Mike is getting involved now too.

I've got a couple of "big picture" questions.

Whenever anyone talks about the HIM I get confused.  If the HIM acts like a an IBM 3274 control unit, how did it support the TCP/IP protocols since those aren't 3270 data stream devices?

The HIM (or Host Interface Machine) was the PDP11/73 that emulated an IBM 3274 control unit and 160 (not 168) IBM 3278 display terminals. It received binary 3278 screens (field definitions) from the mainframe, and translated them into either UBC Virtual Terminal Protocol or MERIT protocol, and vice versa.

I know what a 3278 Display Model 1, 2, 3, 4, and 5 are, but I don't know what a model 1D is.  There was a 3274-1D control unit. Is that what we are after rather than a 3278-1D? The 3274-1D was a locally channel attached (that is not SNA) control unit that supported up to 32 displays and/or printers connected via coax. The 3274-1B was similar to the 1D, but does not support the extended data stream. Both the 1B and 1D are similar to the older IBM 3272 that supported the older 3277 displays.

I guess my memory failed me.  This code was written 26 years ago.   I think you are right about the 3274-1D.  But the HIM definitely emulated 160 IBM 3278 display stations.

Did the Message Multiplexor fit into this picture somehow?  The 3274-1D CU used an address for each device, so I wouldn't think multiplexing would be required.  If the MM didn't play a role with the HIM, where did it fit in?
And just to complete the picture, what role did the NIM play?

For the HIM we emulated IBM 3274-1D channel attached control units. The MM was not involved.

In the UBC network design of those days there were HIMs, NIMs, and Nodes.

Nodes started out life as X.25 packet switching nodes.  These were implemented on PDP11/73s. There was a mesh of Nodes on the UBC network all interconnected by Ethernet. This was before TCP/IP. All nodes were interconnected in an X.25 cloud, and interconnected to the world-wide X.25 Internet.

Nodes provided interconnectivity between HIMs, NIMs, the world-wide X.25 Internet, and the dozen or so mini-computers (e.g, VAXes)  in various departments on the UBC campus that implemented X.25.

Some Nodes were directly connected to the MTS mainframe channels using Auscom controllers. On the MTS side the MM talked to the IBM channel via UMMPS. The MM multiplexed X.25 connections over the channel to the Node. On MTS you could open an X.25 socket, and this would create a path through the MM to the Node, or you could listen on an X.25 socket. You could do the same over a channel to channel adapter between two mainframes and two MMs.

This was the Internet before the Internet. In those days you could open X.25 connections or listen for X.25 connections from any major university in the world.

Later in 1987 when the TCP/IP Internet happened we modified the Nodes so they handled both X.25 and TCP/IP.  Then you could open or listen on sockets for both X.25 or TCP/IP. 

The HIMs were the boxes that emulated the IBM 3274 control units and attached IBM 3278 terminals.

The NIMs (or Network Interface Machines) were the PDP11s in the UBC network that ASCII terminals were connected to. Each NIM supported 160 ASCII terminals. The NIM was connected to a Node using Ethernet. The NIM would  talk UBC Virtual Terminal Protocol over the X.25 cloud to a HIM, or it would talk X.29 to any X.25 connected host in the world, or it would talk X.29 to MTS (using the X.29 DSR on MTS).  Later when TCP/IP happened we retrofitted the NIMs to talk telnet and TCP/IP. 



On Mar 20, 2012, at 11:02 PM, Jeff Ogden wrote:

Thanks, that helps a lot.  There is still a puzzle about how the HIM at UM supports things like FTP and Finger that aren't 3278 displays, but I'm sure we'll figure that out.

   -Jeff



On Mar 20, 2012, at 11:58 PM, dennis.oreilly wrote:

I would suspect the HIM DSP and the TCP DSP were involved, and that these would be talking via the MM. ??



On Mar 20, 2012, at 11:55 PM, Mike Alexander wrote:

I'm confused.  Which of these three devices (Nodes, HIMs, or NIMs) had channel interfaces?  Which of these had a subchannel per connection and which multiplexed multiple connections over a single (or very few) subchannels?

Perhaps we used the wrong name for things at UM and called a NIM a HIM, but the HIMs we had at UM seem a lot like what you describe as a NIM. each of them had multiple subchannels each of which could be connected to a TCP or UDP stream (a socket in the modern world).  They did not emulate or connect to 3278s (or if they did we ignored that fact).

Did we botch things up and get all the names wrong?  Or did the HIMs do TCP/IP?  It's certainly the case that what we called a HIM did TCP/IP. Was a HIM essentially the same hardware as a NIM with different software?  If not what was the essentially difference between the hardware of a NIM and a HIM?

            Mike



On Mar 21, 2012, at 12:41 AM, dennis.oreilly wrote:

Yes I think you are right that this is a nomenclature issue.

At UBC we had HIMs and Nodes attached to MTS, and they served different purposes. HIM was the IBM 3274 emulator front end.  Node was the direct connect X.25 router and TCP/IP router front end.

Sometime around 1987 when MERIT won the bid to operate the NSFNET Mark Fox and I came to UM and we implemented a HIM.  The purpose was to be able to connect the IBM mainframe supplied by IBM to monitor the NSFNET to MERIT. This HIM emulated the 3274-1D and spoke the MERIT protocols across the MERIT network to the MERIT PCPs and SCPs.  Soon thereafter HIMs were implemented to front end MTS.

We worked with Dave Katz and Mark Knopper.  Dave became very adept with the UBCNET software.  As it turns out the same O/S ran in the HIMs, Nodes, and NIMs.  The only difference was that different applications ran on each.  If you wanted you could have a single box that provided the functionality of the HIM and the Node in one box just by running both applications.  UBC never did this, but I believe Dave Katz did this at UM.  That is, he in included the Node application in the HIM boxes that front ended MTS. Thus, the UM HIMs were extended to provide direct TCP/IP router access, as well as IBM 3274-1D emulation.  Whereas at UBC we used two separate boxes, one called the HIM and one called the Node.

So at UM the term HIM meant a single box that functioned as both a TCP/IP router and an IBM 3274-1D emulator. And at UBC HIM meant a single box that functioned as an IBM 3274-1D emulator.

Back in the X.25 days X.25 routers were referred to as Nodes. 

Make sense?



On Mar 21, 2012, at 12:59 AM, Mike Alexander wrote:

Yes, this makes perfect sense.  In summary what I've been calling a HIM is really a combination of what UBC called a Node and what you called a HIM, but in fact we're ignoring the HIM part (3278 connectivity) and just using the Node part.  Did I get it right?  No wonder I was confused!

Is Dave Katz still around?  It might be good to try to include him in the effort to resurrect the UM style HIM.

       Mike



On Mar 21, 2012, at 11:01 AM, dennis.oreilly wrote:

Yes that is exactly right.



Comments