ROBOT OPERATOR FOR A COMPUTER TERMINAL

Abstract: A robot operator for independent interactive communi­ cation in human readable form at terminal level is provided. The robot apparatus (5) consists of a microprocessor (7) connected to the terminal line (3). Output of the micro­ processor is entered into the terminal (1) buffer through a keyboard simulator (11) replacing the human operator. The robot operator has a telephone attachment (12) and output printer (17), and can be programmed to call the system operator upon system failure, thus allowing unat­ tended operation even of large computer systems.

Description: ROBOT OPERATOR FOR A COMPUTER TERMINAL Field of the Invention This invention relates to an apparatus for simulating a human user or operator at a terminal workstation connected to a computer system, and more specifically to a programmable apparatus adapted to be attached to a terminal station and capable to receive and interpret the human readable information supplied by the computer system to the terminal and to respond to this information with messages or commands, thus simulating a human user. Especially, this invention provides a robot operator with the capability to watch the availability of a computer system, the robot being programmed to respond on system failure with a telephone call to the human operator, thus allowing unattended functioning of a large computer system, e.g. during off-hours. Background of the Invention Large data processing systems are organised and programmed to service many users simultaneously, e.g. hundreds of terminals may be connected to a computer system and yet the system appears to each user at his or her terminal as an individual and instant service facility. The interactive communication between the user and the computer system occurs according to predetermined protocols in human readable form, the user commands and system responses being displayed on the terminal screen. When making this invention it was realized that the well defined sequence of user commands and system responses itself may be controlled by a microprocessor to assist or to replace the user. Up till now such a device was not available. Computer systems are often active during non-office hours e.g. for processing big jobs in batch mode or other purposes. Although the system operates independently, the system operator has to be present to restart the system in case of failure. As the system operator has to cope with the exception, a robot operator for watching an unattended system is desirable. Brief Description of Prior Art Communication between computer systems is in itself well known in the art, e.g. computer systems communicate with each other even in world wide computer networks. However, such communications cannot be considered interactive and in human readable form. Signaling computer failure by another computer is also known in itself, e.g. in telephone exchanges two parallel operating computers are used and upon failure of one system, the back-up system takes over under signaling the malfunctioning. Again, the computers do not mutually communicate in human readable information. Diagnostic programs checking computer failures are also well known arid widely used. Such programs are internal computer activities invoked for checking the correctness of each specific function in the machine before the machine becomes operative, but they do not monitor and control the normal or exceptional functioning of the entire system, as would a human operator by his attention and interventions. Summary of the Invention The first object of the invention is to provide a robot operator capable to handle an interactive session at a computer terminal, thus replacing the human end-user. Another object of the invention is to provide a programmable device, capable to retrieve and analyse the human understandable information at terminal level and to respond to the computer system with adequate commands and information. A further object of the invention is to provide a combination of software and hardware means adapted to be connected to a terminal workstation for simulating the human user during his or her absence. A further object of the invention is to provide an intelligent terminal equipped with a microprocessor for independent communication with a computer system. A further object of the invention is to provide a robot operator capable to check the operation and functioning of the computer system to which it is connected, and to react upon detection of system failure by calling the human operator for assistance. Another object of the invention is to provide a programmable device connected to several systems and capable to send messages on one of the systems to signal malfunctioning of another system. Still a further object of the invention is to provide a robot operator, capable to make a phone call upon predetermined occurrences, such as malfunctioning of a computer system. Another object of the invention is to provide robot operator equipped with a microprocessor, programmable for log-on and further procedures for interactive communication with a data processing system, thus simulating the human user served by the computer system. According to the invention as claimed, a conventional terminal station is provided with an additional programmable device comprising a microprocessor, connected to the terminal line through a deserializer, and a keyboard simulator, switchably connected to the terminal for replacing the human operated keyboard. The robot apparatus is connected to a telephone exchange, while a local printer, indicator lights and alarms may be provided for complete functioning of the device. Preferably, the robot control program is entered in the form of one or more ROM's for ensuring reliable functioning of the programmable device, especially in case the robot is used to check the correct operation of the system to which it is attached. Brief Description of the Drawing The drawing shows a terminal workstation with additional hardware to illustrate a preferred embodiment of the invention. Description of the Preferred Embodiment In the drawing, a terminal 1 and a keyboard 2 constitute a conventional terminal station, connected to a mainframe computer system through a coax line 3 for interactive communication with the system in human readable form. The commands, data or information entered by the user through keyboard 2 are supplied to a buffer storage within the terminal, for display on the frontscreen 4 and, upon pressing a special key such as the enter-key or a function-key, the contents of the terminal buffer storage is transferred to the computer. Responses of the computer are also supplied to the terminal buffer and displayed on the terminal screen 4, thus allowing human readable interactive communication with the computer system. These terminal workstations are well known in the art and are widely used. According to the invention, the terminal workstation consisting of terminal 1 and keyboard 2 is equipped with a robot apparatus, in the drawing generally indicated with 5. When a toggle switching device 6 connects terminal 1 and keyboard 2 the terminal station functions as a normal user operated station, but in the alternative position of switch 6 the keyboard 2 is disconnected and the powered robot 5 is active. The robot is equipped and programmed to use the terminal 1 for interactive communication with the computer system, thus replacing and simulating the human user. In the drawing, a microprocessor 7 in the robot apparatus 5 is connected to the coax line 3 through a deserializer 8, such that the serial data supplied by the computer system to the terminal 1 for display on screen 4, via line 3, is also received by the microprocessor 7. Microprocessor 7 contains a random access memory 9 for storing the information supplied by the computer system and a read only storage 10 for storing the robot programs. A microprocessor of the Motorola 6800 series was used to run the robot device, but other commercially available microprocessors may serve this purpose equally. Microprocessor 7 is programmed to store and then analyse the information received from the computer system as stored in RAM 9 and to generate a response, e.g. a further command to the system. Thereto, the output of the microprocessor 7 is supplied to the keyboard simulator 11, connected by switch 6 to terminal 1 and replacing the keyboard 2. The keyboard simulator is a conventional device, also known as a computer port, suitable for supplying characters to the terminal in the same manner as a human operated keyboard, under control of the microprocessor. The robot apparatus 5 further contains an attachment 12 for connecting the microprocessor 7 to a telephone exchange system (such as, an IBM 3750) and also a further connection 13 to a host computer is provided. The host connection 13 allows to enter the robot programs written under the editor of the host computer and the finished robot programs are downloaded from the host into the microprocessor memory for controlling the robot operation. The ROM programmer 18 provides a means to transfer the robot program into a permanent form by imprinting the code in a ROM chip, e.g. an EPROM (erasable programmable read only memory) commercially available from Intel Corp. or other suppliers. Visual check of the robot operation is provided through attached indicator lamps 14, remote indicators 15 and a register display 16. A local printer 1 is connected to microprocessor 7 for printing robot messages. Operation As stated above, the terminal workstation operates as a normal computer terminal when switch 6 connects keyboard 2 to terminal 1. The user may log on to the system according to the predetermined procedure from the powered terminal when the system logo or a similar indication is displayed, signaling that the system is available and accessible from this terminal. The user will log-on by supplying his unique user identification and password to the system in order to be connected for service. The system logo will be a unique picture frame visually identifying the computer system on the display screen. The information and commands entered by the user are stored in the terminal buffer and displayed on the screen, while upon pressing the ENTER key, or a function key, the information is transferred from the terminal buffer to the computer system through line 3. The computer responds with a complete frame of 25 lines with 80 characters each, which are entered in the terminal buffer and displayed on screen 4, whereupon the user may enter the next information and command in the interactive communication with the computer. The robot is activated by powering on and putting switch 6 in the position to connect the keyboard simulator 11 to terminal 1. The information supplied by the computer, e.g. the system logo, is loaded into the robot memory upon a first entry from the robot, which may be a single simulated pressing of the GEEZER key performed by KBD simulator 11. The serial data supplied by the responding computer system is assembled into 8-bit bytes by the deserializer 8 and supplied to the microprocessor 7 for subsequent storing in a screen buffer area of 2000 bytes in the Random Access Memory 9 of the microprocessor, as well as being displayed on frontscreen 4 of terminal 1. Microprocessor 7 is programmed to analyse the data supplied by the computer system and stored in RAM 9, and to generate a response or action in accordance with predetermined instructions of the user. E.g., the robot may handle the log-on procedure and subsequent commands. Examples of the different detailed operations carried out by the microprocessor 7 on the information supplied by the system are given in the next chapter titled Robot Instructions. The response generated by the microprocessor is supplied to the keyboard simulator 11 for a subsequent character by character input into the terminal storage, thus simulating an entry of a human user. Instead of or in addition to supplying a response to the computer system the robot may be instructed to make a phone call to the system operator in response to certain data supplied by the computer or absence thereof, as illustrated in the next chapter, Robot Instructions. Other robot instructions cause the robot to print messages upon occurrence of certain conditions, e.g. upon detection of internal failure. The robot device is further provided with indicator lights and a display panel controlled by the robot program and adapted to visualize the robot functioning. Robot Instructions A set of high-level instructions is provided for the user to program the robot microprocessor. To further illustrate the operation of the device some of the instructions are specified below by way of a non limitative example. For each instruction the corresponding operation and the format is specified. KBDD - SI#iULATE A STRING OF KEYBOARD CHARACTERS The string of characters added as an argument to this instruction will be sent to the terminal through the keyboard simulator when the instruction is executed. Format: KBDD 'string' KBDK - SIMULATE KEYBOARD FUNCTION KEY A function code corresponding to a selected function key (PF1 - PF12) of the human operated keyboard as specified by 'keyid' will be transferred by the keyboard simulator to the terminal, upon the execution of this instruction. Format: KBDK 'keyid' RDRESP - READ RESPONSE FROM COAX CABLE This instruction will read data passing along the coax cable into the screen buffer. Format: RDRESP ss, 'label', ee wherein ss specifies a time lapse, label specifies a branch if timeout occurs, and ee specifies a timeout after the last data item has been read from the cable. SRCH - SEARCH FOR CHARACTER STRING IN SCREEN BUFFER This instruction will search the copy of the screen buffer contents to detect a series of characters equal to the string supplied with the instruction, and branch if the search is successful. Format: SRCH 'string', 'label' LAMP - CONTROL INDICATORS This instruction will turn indicators on and off. Format: LAEIP local/remote, green/red, nn, off/on in which nn specifies the lamp number. BUZZER - CONTROL LOCAL BUZZER This instruction will turn the local buzzer on or off. Format: Buzzer on/off. SAVE - SAVE PART OF SCREEN BUFFER This instruction will save a part of the screen buffer in a 512-byte area. Format: SAVE oo, cc, ba in which oo specifies a screen address, cc specifies the number of bytes to be saved, and ba specifies the address in the area where the data is to be stored. COMPARE - COMPARE SCREEN BUFFER TO SAVED DATA This instruction will compare data in the 512-byte area with data in the screen buffer. Format: COMP oo, cc, ba, 'label' PRNTBFR - PRINT SAVED DATA This instruction will print data from the 512-byte save area. Format: PRNT oo, cc DIAL - DIAL A TELEPHONE NUMBER This instruction will dial a telephone number. Format: DIAL 'string', label in which 'string' specifies a telephone number. TONE - SEND TONE OVER THE TELEPHONE This instruction will send audio tones over the telephone. Format: TONE 11, hh in which 11 specifies the length and hh the height of the tone. ONHOOK - END OF TELEPHONE COENERSATION This instruction will end a telephone connection. Format: ONHOOK WAIT - WAIT A SPECIFIED TIME This instruction will cause a wait. Format: WAIT nn in which nn specifies the wait time. Unattended Operation of a Computer System The computer system displays its logo on all connected powered terminals to inform the users about the availability of the system. When more systems are accessible through one terminal normally a listing of these systems is displayed on the terminal screen with for each system the indication 'on-line'. Upon failure of the system the logo disappears, or, respectively, the indication 'on-line' is replaced by 'off-line'. From the foregoing it will be clear that the robot operator attached to any terminal of the computer system may be programmed to read the system logo or, respectively, the on-line indication, and to detect the absence of the logo or the presence of an off-line indication upon system failure. This feature of the robot operator is particularly attractive because it allows unattended operation of even a large computer system during off-hours when big jobs in batch mode are processed. Depending on the circumstances the robot processor may be programmed to make a phone call to the operator, or take any other adequate action, such as signalling a guard, buzzing or sending a message through another system available at the terminal. Robot Programs Robot programs may be written under the facilities of the host computer, and then be stored on the disk memory of the host computer and loaded down into RAM 9 when needed, using host computer connection 13. The robot is provided with a ROM programmer 18 capable to write the program from RAM 9 into a ROM chip (EPROM), thus ensuring a reliable operation of the robot controlled by a program in a permanent form. Writing programs in permanent form in ROM chips is in itself well known and as such not a part of this invention. While the invention has been particularly shown and described with a preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention.

Claims: CLAIMS 1. Terminal station (1) having a line connection (3) to a computer system and provided with a display screen (4), a keyboard (2), a buffer storage and control means for interactive communication with the computer system, characterized by an additional programmable device (5) for independent interactive communication with the computer system in human readable form, said programmable device comprising a microprocessor (7) connected to the terminal line (3) through a deserializer (8) and comprising a keyboard simulator (11), switchably connected to the said terminal, and wherein the micro processor (7) is programmed to respond to the information supplied by the computer system to the terminal. 2. Terminal station according to claim 1, characterized by the said deserializer (8) transferring the serial data supplied by the computer byte by byte to the microprocessor (7) for building a complete replica of the terminal screen in the memory of the micro processor to be analysed. 3. Terminal station according to claim 1 or 2, characterized by the said keyboard simulator (11) entering coded characters successively supplied by the microprocessor into the terminal buffer for subsequent transfer to the computer system upon generation of an "enter" code by the microprocessor. 4. Terminal station according to claim 1-3, characterized in that the deserializer (8) is connected to the terminal line in parallel to the terminal, such that any interactive communication is displayed on the terminal screen, in addition to the reception thereof in the micro processor. 5. Terminal station according to claim 2, characterized in that the microprocessor is programmed to check in the said replica the presence of the system's logo or the indication "system on-line" and to issue a warning message upon absence of such logo or indication. 6. Terminal station according to one or more of the preceding claims, characterized in that the microprocessor is programmed to check the on-line status of several accessible systems and for issuing a warning message on one system in case the failure of another system is detected. 7. Terminal station according to one or more of the preceding claims, characterized in that the microprocessor is connected to status indicators (14, 15, 16) and buzzers located both on the machine and at a remote position for displaying error status and raising an audible alarm in case of detection of a systems failure. 8. Terminal station according to one or more of the preceding claims, characterized by a telephone attachment (12) of the microprocessor (7), the microprocessor being programmed to make a phone call upon detection of a predetermined occurrence, e.g. system failure. 9. Data processing system provided with a terminal station according to one or more of the preceding claims. 10. Programmable device consisting of a microprocessor (7), a deserializer (8) and a keyboard simulator (11), adapted for independent interactive communication with a computer system in human readable form when attached to a computer terminal.

Inventors: KUIPER, H. F.
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1984
Main classification: G06F3
IPC codes: G05B19, G06F3