Some of the chronology is a little vague. If you have any corrections, please email: R_moore@sympatico.ca.
This history attempts to document some dates and decisions. Details of IPSANET technology are deliberately sparse as I have attempted to cover those topics in more detail elsewhere.
In summer 1966, I assisted Larry Breed and Richard Lathwell in the implementation of a multi-user APL system for the IBM/360. Ian Sharp received a demonstration of this system from Ken Iverson in winter 1968. He saw the commercial potential of a time-sharing service based on this software. He persuaded me and the other directors of IPSA to acquire a computer to run APL\360.
Steps were taken to rent a 360/50 with a 2703 Communications Controller from IBM Canada. Space was sublet was from AGT Data. With the help of Harris & Partners (now part of RBC Dominion Securities), private investment totalling C$500,000 was raised for this and other projects.
In June 1969, the 360/50 was installed in the same room as AGT's Spectra 70. The initial telecommunications facility was housed in two large cabinets from Bell Canada. Each held thirty 103A2 dialup modems on ten shelves. One cabinet held local Toronto lines; the other held foreign exchange lines serving Montreal, Ottawa and Hamilton. Remote terminals were IBM 2741s or clones. The 2741 operated at 134.5bps using PTT/BCD or Correspondence code.
In late summer 1969, IPSA started providing bulk time-sharing service to Scientific Time Sharing Corporation in the USA. STSC supplied a TelTech time division multiplexor and a Milgo 4400/48 modem to connect the Toronto datacentre to their Washington hub.
In 1971 IPSA replaced the IBM 2703 communication front-end with a Memorex 1270. This allowed support of 300bps ASCII terminals. The 1270 included a feature called Autospeed to determine the operating speed of a terminal by analysis of the first received character. This allowed a single answer-only 300 baud modem to service a 2741 or an ASCII terminal running at 110, 150 or 300bps. This feature was useful but didn't work with a digital multiplexor between the terminal and the 1270 port.
In 1972 STSC began operation of their own APL time-sharing service in Bethesda, Maryland. They used the extended version of APL\360 which was jointly developed by IPSA and STSC personnel. The IPSA customer base expanded in Canada and the US to use the capacity freed-up by STSC's departure. At this time IPSA had links to various cities. These links were provided by a variety of digital multiplexors, frequency division multiplexors, and Trans Canada Telephone's DataRoute system.
In 1973 IPSA began Trans Atlantic service to London. A Codex 810 digital multiplexor provided 134.5bps and 150bps channels.
One obstacle to offering a time-sharing service in the United Kingdom was the APL\360 )MSG command. It allowed a user to send a one-line message to another signed-on user. The UK Post Office was concerned that this might compete with their Telex service. They were quite suspicious and wanted a copy of the software source and our customer list. It was unclear whether this was to allow them to go into competition or to prevent electrocution of the barefoot navvy who reputedly repaired phone lines.
Customer access to the )MSG command was disabled. This was done with considerable publicity. The press release failed to note that customers could still use chat room software and the electronic mail system to communicate. The e-mail software was modified to prevent communication between users from two globally different customers.
Service was extended beyond London by subdividing the 9600bps channel into a 4800bps channel and two 2400bps channels. The faster channel serviced the London multiplexor; a slower channel connected to another Codex 810 in Gloucester. The remaining 2400bps channel allowed a London MDS 2400 to exchange 1600bpi magnetic tapes with a sister machine in Toronto. This was installed in fall 1975.
In September 1975 IPSA replaced several Memorex 1270 terminal controllers with a three bay IBM 3705 Communication Controller model C2. The initial reason for doing this was economical use of System/360 byte multiplexor channel address space. The 360/75 had 192 addresses available. 16 were required for sundry non-telecommunications purposes leaving 176 for the connection of terminals to the time-sharing system. The large 3705 at IPSA could attach 256 half-duplex lines. (The maximum size 3705 could connect to 352 lines). This required software in the 3705 to dynamically allocate channel addresses to active telecommunication lines. As IPSA customers were spread over nine hours of time zones, this scheme worked well. It provided more terminal connection capacity than the 360/75 could service in an acceptable fashion.
In early 1975 work began in Amsterdam and Reading on the software which became IPSANET. Intersystems BV (no relation to the present company of the same name) was a subsidiary of IPSA. Michael Harbinson was the principal programmer. Amsterdam had a Computer Automation Inc Alpha LSI-2/20 (related to Naked Mini) computer leftover from a prior project. The prototype acted like a digital multiplexor carrying several 134.5bps channels. After December 1975 it provided APL service to Amsterdam via back to back cabling to 134.5bps channels on the London trans-Atlantic multiplexor.
In 1976 the IPSA 3705 software was extended to support what was then known as the Harbinson protocol. It was capable of attaching four 9600bps network links. Approximately 200 network calls could be terminated in a 3705. The first production Alpha to 3705 connection was made in May 1976 from Rochester, NY. A few weeks later the Codex 810 connection to London was replaced with an Alpha.
The initial version of the 3705 software had no support for network management tools. By late 1976 both logging and remote load of Alphas were supported via 3705 and APL software. Alpha software allowed autospeed capability to be extended to remote locations. Non-trivial traffic on the network did reveal sundry flaws in the Alpha software. A few frantic months were spent fixing the worst of these. By spring 1977, the network was fairly reliable. Nodes tended to operate without reloading for many months. (This was assisted by the power-on restart capability in the Alpha.)
The overwhelming benefit of the packet switched network was that was that until the, the transatlantic line was subject to frequent hits which could terminate all active calls carried on the Codex 810 time division multiplexor. Even when the call held up it was difficult to get a page of printout without an error. This would suggest a modem error rate of worse than one in 1E5.
With a reliable software foundation, various improvements could be made. Network management tools were built (see Network Management Tools by Roger Moore in Proceedings Volume One from 1982 APL Users Meeting ISBN 0-86493). The ability to connect more than one APL host to the network required the Alpha to capture and process an initial three (later four) letter destination address from the terminal. This allowed inhouse APL customers to access their mainframes via IPSANET.
The introduction of specialized protocols began in mid 1977. The first was a Telex pipeline which allowed a Telex circuit to be routed from one Alpha to another. Massey Ferguson used this feature to replace some Telex links. There was a cost saving because the network link also connected async terminals to an APL mainframe. This caused some political problems in Canada as Bell Canada acted as though private Telex links from CNCP Communications were constructed of anti-matter. Bell believed that an interconnection (even if buffered through an Alpha) would destroy the integrity of the telephone network.
In summer 1977 the Alpha hardware was upgraded by gradually supplanting the CAI communication interface boards with a new design from Macrodata BV (owned by Michael Harbinson). The Universal Modem Multiplexor (UMM) allowed up to 24 communication lines (network links and asynchronous terminals) to be connected in the main chassis of an Alpha. This allowed the unreliable expansion chassis to be discarded in most nodes. It also introduced the pernicious AMD 9551 communication chip into the network. This caused subtle difficulties with asynchronous lines due to a mal-designed transmission completion scheme. Reliable UMM support for 1200bps terminals was impossible until the 9551 was replaced by the Intel 8251A chip in 1980.
By early 1978 most offices were served by Alphas rather than time division multiplexors. This changed the network cost structure rather dramatically. The number of terminals which could be accommodated on a leased line depended on their average activity. Ian Sharp responded to this by changing the pricing of the time-sharing service. Previously the usage charge was strictly connect time based. The connect charge was completely eliminated and replaced by two usage charges: CPU seconds and kilocharacters sent/received. This was quite a dramatic change at the time. There were some costs in both the network and at the central host in having an additional user connected. These modest costs were deliberately ignored in the new price schedule.
Simple support for dialin Bisync 2780/3780 devices was provided in early 1978. A file of card images could be sent to an APL file or an APL print file could be transmitted to the device. This primitive facility could be slightly extended if some flexibility at the Bisync end was possible. A simple program for the IBM PC plus some APL resident file conversion software allowed for transfer of PC DOS files to and from APL. IPSA PC developers used this facility to store software source on APL and print listings on datacentre printer. IPSA Palo Alto used it to connect an IBM 6670 printer to their local Alpha.
Network packet size was increased in the period from 1978 to 1981. The first step was to adjust all nodes that they could tolerate a 64 byte packet. Due to concerns about response time, the initial expansion of T-task output packet size was from 32 bytes (21 useful) to 48 bytes (37 useful). After many 2400 bps links were upgraded to 4800 bps, the T-task output packet size was raised to 64 bytes (53 useful). Some specialized protocols such as network bisync and downline load used the longer packets initially.
Alpha software to allow connection to an X.25 network was written in 1978. The Alpha software converted from the CCITT X.3/X.28/X.29 protocol to the IPSANET end-to-end protocol. This version used a mixed protocol with transparent bisync framing and HDLC LAP link control. This mixed protocol was supported only by TCTS DataPak.
Alpha software which used the network Bisync protocol to connect a local printer or tape drive was written in 1979.
Node numbers had been restricted to two decimal digits by a petty limitation in the billing software. In 1979 this restriction was removed.
In May 1981 a drastic changes to the network routing software was completed. The ability to transmit datagrams was eliminated. The new network was an all virtual call scheme. Calls were independently routed. A route table entry was created when a call was established and erase when the call ended. A node could no longer contain obsolete routing information. The network was much more tolerant of loops.
The software was slightly ahead of the telephone companies with respect to topology. Historically all of IPSA's American lines terminated in Toronto. To provide redundancy in California and Western Canada we ordered a link from Palo Alto to Vancouver. This violated the single border crossing rule. We managed to persuade the Canadian phone companies that the new link was for redundancy rather than displacement of our existing domestic links.
A similar problem arose with Teleglobe. In 1983 we needed the capacity of a third trans-Atlantic line. We were already leasing circuits on CANTAT1 and CANTAT2 and refused satellite service which gave noticeable transmission delays. Route diversity seemed essential to reliability and so another cable alternative was required. With some difficulty we persuaded Teleglobe to provide us with a Toronto to Amsterdam circuit via TAT6 (an American cable).
Another benefit of flexible routing was the use of a dial backup for the trans-oceanic circuits. By establishing two dial telephone calls it was possible to connect a pair of 9600bps V.29 modems. The backup modems did not have to connect to the same ports as the leased line modems. The routing system would find the dial connection automatically.
In 1982 the network comprised 143 links and 131 nodes. Fifteen links were of test status.
Geographic expansion continued through the 80s. Alphas were installed in Saskatoon, Phoenix, Denver, Moscow and Warrington (with a view of the scenic Manchester Ship Canal).
In 1982 some services requiring an SDLC/HDLC link to the Alpha were introduced. Michael Harbinson supplied a new communication board named the MSM. It used a Zilog 8530 line interface and a Z80 to connect two synchronous lines. Steve Crouch programmed an X.25 interface including X.3 protocol conversion. These additions were programmed using a rather primitive APL compiler.
SDLC pipelines were introduced in 1984. The pipeline connected an SNA PU4 (aka NCP 3705) to several remote PU2s (aka 3274 Terminal Controller). The Alpha at the host end emulated a multi-drop line and used the SDLC device ID to direct traffic to the appropriate virtual call.
In 1984 Dialout Bisync was introduced. This allowed an APL task to obtain a byte multiplexor channel connection to a 3705. A network call was established to an Alpha Bisync port. This port could have an autodialler to place a telephone call to a Bisync device. This proved somewhat more popular than the old dialin Bisync. The older scheme required the remote Bisync device to send one or more initial commands to identify the user and task to be performed. (There was a bypass mechanism for hard-wired devices such as the local printer described above.) Dialout APL software could send initial commands to the remote device to logon to a Hasp RJE system as a 2780 and transfer data. Many other applications within the context of half-duplex Bisync were possible. Hasp multileaving protocol was still unsupportable as it would have required multiple network calls to support one Hasp link. Asynchronous dialout software was developed shortly afterwards.
In 1985 design of the Beta node began. This was intended as an Alpha replacement. The CPU was an IBM PC-AT (or clone) with a 80286 processor. Asynchronous terminals were not directly supported. They were attached to a X.3 pad which connected via an X.25 link.
Installation of the Beta node began in 1987.
Network Shared Variable Processor (NSVP) allowed variables in one system to be shared with an APL task (or auxiliary processor) on another SAPL system. An NSVP task in a local system communicated via a special full-duplex protocol with a remote NSVP task. Many variables could be shared over a single network virtual call. From a user view the two ends were similar and either the local or the remote user could initiate a share. An early application of NSVP was to extend the 666 BOX e-mail software to multiple systems. File transfer was another application which was so easy to code that I suspect several ad hoc systems existed. NSVP was first deployed in 1984 with the 370 resident code written in APL. It was subsequently incorporated into the shared variable processor.
Network Development continued after I left I P Sharp Associates (Reuters) in winter 1989. The 3705 interface to was replaced with a X.25/NPSI interface. Some changes to routing protocol were made to allow several independent interend packets to be packed into one error controlled internode packet.
The network attained its maximum size of over three hundred nodes in the early 90s.