The Cursor Box Algorithm

The problem we faced in trying to support screen editing on MTS and over NUNET was the following. We had neither the network bandwidth nor the central processing power to afford character by character interaction with the MTS host.

Our MTS system, running on an IBM 370/168, was already overloaded and we dare not introduce any form of screen editing which would cause further congestion.

Most people were using command line editors, which caused interaction with the host at the end of every line typed. The program in the host might well have to be transferred into memory and out again at each transaction.

We had to have a solution which offered a lower, or, at the very least, no higher transaction rate.

The Cursor Box

NUNET terminals were connected to NIMs (Network Interface Machines) which acted as terminal concentrators, (PADs in ISO terminology).

The solution was to have the host specify to the NIM an invisible rectangular box on the terminal screen. The host would also send control sequences to place the cursor inside the box.

Ordinary or cursor control characters typed by the user would be stored and echoed by the NIM, which would compute where the cursor had moved to in relation to the invisible cursor box.

As soon as the NIM detected that the cursor had left the box, it would cease echoing and forward the stored characters to the host, which could reconstruct the state of the screen and take whatever action was appropriate.

The host would also be informed immediately the user typed control characters outside of the cursor control set.

Screen Editing

As we could alter the NIM code, we were able to make very minor changes to implement the Cursor Box Algorithm.

We were then able to implement a Screen Editor (SC) which took advantage of the Cursor Box.

The box would initially cover the whole of the modifiable area between the rules, but could be reduced to cover insertion fields as required.

In theory, a user could change the whole modifiable area without causing a host transaction, but, in practice, we found the transaction rate to be about the same as it had been with the line editors.

SSMP and Fawn Boxes

When we changed NUNET to be an X25 and Coloured Book compatible network, we could no longer sustain the Cursor Box functionality in the PADs. We were, however, able to have the same functionality by inventing the Simple Screen Management Protocol (SSMP) and inserting a small and cheap computer (called a Fawn Box) between the terminal and the PAD.

With SSMP we were able to produce an enhanced screen editor called CURLEW and an email presentation program called EMU.


The Transition from Centralized to Distributed Computing / Contents Page - 40 years of Computing at Newcastle


The Transition from Centralized to Distributed Computing, 20 October 1997