User console and computer operating system asynchronous interaction interface5684992Abstract A method for operating a computer system includes the identification of at least one of a plurality of consoles to the operating system so as to be able to dynamically specify console attributes. Furthermore, a unique command and response token value is provided for associating commands and subsequently generated responses or messages so that they may be directed to an appropriately select set of consoles as determined by the token value and the console attributes. These facilities provide a programmable and flexible interface to a computer and its operating system environment so as to facilitate the utilization of console devices for controlling the computer complex from one or more remote locations in a consistent, protected, efficient but yet flexible manner. Claims The invention claimed is: Description BACKGROUND OF THE INVENTION
TABLE 1
______________________________________
OPERPARM
KEYWORD FUNCTION
______________________________________
AUTH Command authority
ROUTCODE Routing codes
LEVEL Levels of messages
MFORM Message format for display
MSCOPE System message scope in a sysplex
CMDSYS Command scope in the sysplex
MONITOR Jobname and TSO information for
displays
LOGCMDRESP Logging of command responses
MIGID Whether the console receives a
1-byte migration ID
STORAGE Limit of storage in megabytes (MB)
used for message queuing
DOM Whether the console receives
delete operator message request
(DOM)
KEY 1 to 8-byte name used on DISPLAY C
command to identify extended MCS
consoles
UD Whether the console displays
undelivered messages
ALTGRP Specifies the name of a list of
alternate consoles in the event
of abnormal event occurrence.
AUTO Provides additional routing
characteristics for processing by
other routings which automate
operations
SUPPRESS Indicates whether messages which
have been suppressed are still
routed to the console.
______________________________________
The AUTH parameter variable specifies the command authority LEVEL for the console. The operating system determines command authority by command groups defined as follows: Information Commands, System Control Commands, I/O Control Commands, Console Control Commands and Master Console Only Commands. An additional group of AUTH commands includes all of the above levels except for the Master Console Only Commands. Command and group authority preferably provide that commands from groups with higher authority are also authorized to issue commands in the groups with lower authority. For example, the System Control Command authority designation allows the user to issue Information Commands as well as System Control Commands from the console. An Informational Command authority level is preferably selected as a default. The ROUTCODE keyword value specifies a routing code in effect for the console. The operating system directs messages with defined routing codes to the console. It is also preferable that the user is provided with the opportunity to specify a ROUTCODE "value" of "ALL", which sends all messages defined by routing codes to the console, or a routing code of NONE which sends no messages defined by the routing code to the console and this is preferably selected as the default value. The LEVEL keyword specifies a message level for the console. The system distinguishes between kinds of message levels defined as options in the following fashion. The most important level is reserved for write to operator with reply (WTOR) messages which demand an immediate reply. Next in priority are the "system failure" and "immediate action" messages which indicate that a serious error has occurred or that a task is awaiting a requested operator action. Next most important in terms of level are the critical, eventual-action messages which indicate that an eventual action of critical importance is requested on the part of the operator. Thus, in this case, the importance is "eventual" as opposed to "immediate". Next in terms of level are the eventual action messages which request an eventual action that does not require immediate operator attention. Next in terms of priority are informational messages which generally indicate system status. Most messages are generally informational. Next in terms of priority level are "broadcast" messages which are messages normally sent to every active console regardless of the routing code assigned to the console. It is also possible to specify via the LEVEL parameter that the console is not to receive broadcast messages. Also, it is preferable to include a LEVEL parameter value which permits all the messages including broadcast mesages to appear on the console being defined to the system. Another parameter that is preferably provided is used to define the message format for messages that appear on the console. In the present invention the parameter MFORM is used by the operating system to distinguish various formats such as whether or not the text of the message is displayed without a time stamp job ID or job name. Another value of MFORM specifies that the system displays the job name or ID along with the message text. Another choice for the MFORM parameter value specifies that the console displays the name of the system that originated the message. Another choice of MFORM value specifies that the system display a time stamp with the message. Also, it is possible via choice of the MFORM parameter to suppress the job name and system name for job entry subsystem messages issued from a global processor. Another parameter specifiable in the OPERPARM list specifies that one can display certain status information on the console screen. For example, it is possible to specify that the name of the job is displayed in status display areas whenever the job starts and stops. It is also possible to specify that data set names and volume serial numbers are displayed in status display areas whenever data sets are freed. It is also possible to specify that a session user identifier is displayed whenever a session begins and/or ends. Additionally, a time or data stamp may be displayed at session beginnings or at job starts. Furthermore, when the present invention is operating in a computer complex comprising a plurality of relatively independent computer systems arranged in a loosely coupled complex, it is desirable to employ another OPERPARM parameter, MSCOPE, which is capable of defining certain systems that can send messages to the console that are otherwise not explicitly routed to the console. In the present invention, this parameter value has been set to a default of "ALL" which indicates that messages from the local system as well as all other systems in the complex are capable of appearing on the console. The present invention is also capable of defining, via the value of the CMDSYS parameter in the OPERPARM list, a system in a complex where commands entered on this particular console are sent for processing. The preferable default value set so that commands entered on the console are processed on the local system where the console is defined. The present invention also provides the capability of specifying a value for the LOGCMDRESP parameter in OPERPARM so as to control whether messages that are responses to commands directed to the console are logged into a hard copy log. The OPERPARM parameter MIGID specifies a one byte long migration identification field assigned to the console. The migration identifier allows command processors that use a one byte console identifier to direct command responses to the console. One value of the MIGID parameter specifies that the system should assign a migration identifier to the console. Another value of the parameter indicates that the console does not require a migration identifier and this is the default value used. Another parameter that is specifiable to the MCSOPER service macro via the OPERPARM list is the STORAGE parameter. This specifies the limit of storage in megabytes that is used for message queuing. When the console is activated, the system sets the limit. Another OPERPARM parameter, DOM, specifies whether the console receives delete-operator messages. A "NORMAL" value for this parameter list item indicates that the system attempts to queue all appropriate delete operator messages to the console, and is the default. Another setting for this parameter provides that all systems in the complex queue delete operator messages to the console. The application program that activates the console must handle any message deletion as specified by the DOM signal. The OPERPARM parameter KEY specifies a one to eight byte character name that enables one to define a KEY that computer operators may use to display information about all extended MCS consoles in the system or complex. Lastly, the OPERPARM parmeter UD specifies whether the console is to receive action messages and WTOR messages that the system could not display. In addition, the present invention provides different ways to receive messages depending upon the desired method for retrieval. For example, if one specifies MSGDLVRY="FIFO" to the MCSOPER macro, messages are extracted from the storage area on a first in first out (FIFO) basis. If instead, one specifies "MSGDLVRY=SEARCH" to MCSOPER then the search arguments CMDRESP, CART and MASK are used by the MCSOPMSG macro for retrieving a message when the REQUEST parameter for MCSOPMSG is set equal to GETMSG. Likewise, if one specifies "MSGDLVRY=NONE" to the MCSOPER macro then no message storage area is created. This latter specification requires that one retrieves messages from either the write to operator macro (WTO) subsystem interface or a message processing facility exit. This facility is provided principally to support prior mechanisms for message processing. In the present invention, one can also specify the number of messages stored for an extended MCS console. This is provided in the QLIMIT keyword for the MCSOPER macro. This allows one to define a maximum number of messages that may be queued to such consoles. When the number of messages in the message storage exceeds the specified queue limit value, queuing to the storage area stops. Additionally, in the present invention, when the extended MCS console is activated one can specify that when the maximum number of messages that can be queued is exceeded and queuing stops, it is possible to resume queuing when the amount of message storage used reaches a specified percentage of the message capacity as defined by the QLIMIT keyword. Another parameter, QRESUME, specifies a user definable percentage of queued messages at which queuing to the data space is resumed. Attention is now directed to the mechanism involved with retrieving messages from the message storage area by using the MCSOPMSG macro with REQUEST set equal to GETMSG. This not only retrieves messages from the message storage data space but also frees storage for new messages. Messages are retrieved by specifying certain characteristics of the message. In particular, the CMDRESP option of the MCSOPMSG macro allows one to retrieve a message that is a command response (CMDRESP set equal to YES) or an unsolicted message (CMDRESP set equal to NO). If you choose to retrieve a command response, you can further specify the message command and response token (CART) which associates a response with a command, and with the CART one can also specify a mask. A command and response token allows one to specify the selection criteria when retrieving command messages. In one instance, a mask is used as a value that is compared to a command and response token (CART) with the logical AND instruction being used to broaden that selection criteria. For example, MCSOPMSG may be effectively employed to retrieve any command responses having a specified first four characters for the command and response token. If one does not specify a value for CMDRESP, the MCSOPMSG macro retrieves the first message in the queue in the data space on a first in, first out (FIFO) basis. When the MCSOPMSG macro returns control, a specified general purpose register and an access register (AR) is used to point to the particular message in the Message Data Block (MDB). In the present invention, queue message limits may be managed by specifying the MCSOPMSG macro with REQUEST set equal to GETMSG so that one can retrieve sufficient numbers of messages to meet the above specified QRESUME percentage requirements specified in the MCSOPER macro. After queuing stops, for example after an abnormal end condition occurring in a computer system, one can resume queuing to the message storage area by specifying the MCSOPMSG macro with the REQUEST parameter set equal to RESUME. However, the "REQUEST=RESUME" specification enables one to request that the system resume queuing. If queuing does stop, MCS routes important messages not queued anywhere else to consoles having the UD attribute as defined above. Additionally, it is possible to employ the MCSOPER macro with REQUEST set equal to a ACTIVATE to provide a way to check message status. In this case MCSOPER processing posts an event control block (ECB) if any of the following are true: the number of messages in the message storage area has reached the number specified in QLIMIT; the number of messages in the message storage area has filled the percent of the QLIMIT number specified by an ALERTPCT value; the message storage has no space for more messages; or a queuing error occurs. When MCSOPER posts the event control block, one should check the MCS console status area to determine which of these problems has disabled the queuing function. These are separately provided by the users and do not constitute part of the present invention. The present invention also provides the capability for deactivating extended MCS consoles and releasing migration identifiers. In particular, invocation of the MCSOPER macro with the REQUEST parameter set equal to DEACTIVATE identifies the extended MCS console that is specified as inactive and terminates the session. In order to release a migration ID one preferably first issues a DISPLAY CONSOLES command to display the migration IDs that one can supply as input to the MCSOPER command with REQUEST set equal to RELEASE. The migration ID as specified above, is preferably the one byte console identifier that is used in user programs prior to conversion by the programs to a four byte console identifier. In this mechanism, there is a limited number of migration IDs. However, one can reuse migration identifiers that have been returned. Subsequent to the DISPLAY command the MCSOPER macro is issued with REQUEST set equal to DEACTIVATE then the MCSOPER command is invoked again with REQUEST set equal to RELEASE so as to release and return the migration ID. The migration ID is specified with the MIGID keyword described above. Attention is next directed to the sequence of operations and interchanges as shown in FIG. 2. In particular, this figure illustrates the data flow and command sequence that occurs between programs running the console address space and programs running in a user address space such as that assigned by a time share operating system such as the TSO/E product which runs under the MVS operating system products of the assignee of the present invention. Upon initiation of a console activate sequence 100, terminal data is first passed (step 101) via the above described MCSOPER macro to the console address space where the newly activated console is identified (step 102) to the multiple console support service. Subsequently, the program running in the console address space passes (step 103) a 4-byte console identifier to the user's TSO/E address space where it is saved (step 104) as a 4-byte console identifier. Subsequently, a supervisor call (SVC) instruction (with a code of 34 in the MVS operating system) is supplied to a command processor (step 105). Step 105 passes a system command, a 4-byte console ID and the above described command and response token (CART) to the command processor which receives it (step 106), handles the user's request and issues a write to operator (WTO) macro (step 107). The WTO macro is processed (step 108) by the program running in the associated console address space. The message received is queued for delivery to the TSO/E address space which is notified (step 109) that a message is queued through the invocation of the XMPOST macro. TSO/E then "wakes up" (step 110) to process the message and subsequently passes the console identifier (step 111) to the console address space routine by means of the above described MCSOPMSG macro. See also FIG. 1 with respect to the operation of the XMPOST macro. Next, the console address space programming places an address of the message in general purpose register 1. Also, an access list entry table (ALET) for the message is placed in access register 1 (step 112). Control is then returned to the program running in the TSO/E address space which invokes a service to place a message on a TSO/E terminal or returns a message line to the calling program (step 113) which may for example be a REXX exec. In the case of a multiple line write to operator command, this step is repeated (step 114). Finally, subsequent system commands may be issued (step 115) via service call (SVC) 34 as above to the command processor which processes the command (step 116). It is noted that the command processor may run in any of the following address spaces: the TSO/E user's address space; the master scheduler address space; the CONSOLE address space; the subsystem address space (for example the JES2 or JES3 address space); or any MVS system address space. Subsequent control continues in the CONSOLE address space. Further operations occur as described above where the typical sequence is the message queuing and posting operation (step 117) followed by invocation in the TSO/E address space of the MCSOPMSG macro (step 118) and the subsequent program return from the console address space (step 119). Finally, a console DEACTIVATE or LOGOFF command may be issued in the TSO address space (step 120) which in turn invokes the MCSOPER macro resulting in the deactivation of the user from the MCS system (step 121). Attention is now directed to the MCSOPMSG macro which is used with parameters that specify either that the command is being used for retrieving messages or with an indication that it is being used for the purpose of reviewing message queuing. It is specifiable with a number of different parameters. In particular, the parameter CONSID specifies the address of the console ID. CONSID is a required parameter. Another parameter that is specifiable is the CMDRESP parameter which specifies the type of message search being requested. At this particular parameter set equal to "NO" then the next unsolicited message is returned. If this parameter is set equal to "YES" then the next command/response message is returned. This parameter is optional. If it is not specified then the preferred embodiment of the present invention provides that the first undelivered message in the queue is returned. Another parameter specifiable to the MCSOPMSG macro is the command and response token (CART) described above. The CART specifies the next message returned contains the CART. The CART parameter is an optional parameter and is used only if CMDRESP=YES is specified. Lastly, it is preferable to supply a MASK parameter to the MCSOPMSG macro. The MASK parameter specifies that the CART in the message and the requested CART be logically ANDed with the MASK before the test is made which determines that the message contains the same CART as what was requested. MASK is an optional parameter in preferred embodiments of the present invention. The Message Delivery Request routine passes return codes indicating various results. For example, it is desired to indicate successful processing. It is also preferred to provide an indication of successful processing but to qualify that with the fact that message queuing to the console is currently disabled. It is also possible to indicate via this request routine that no messages are available for the specified search criteria. It is also possible to indicate that no messages are available for the specified search criteria but message queuing to the console is currently disabled. It is also desirable to provide indications of the console not being active or that the console is not activated by the address space from which MCSOPMSG was called. Improper MCSOPMSG calls result in the return of certain reason codes that might for example indicate an invalid parameter list or that the caller is not in access register (AR) mode or that another MCSOPMSG request is in progress for this console. This latter aspect applies only to consoles with first in first out delivery specified. From the above, it should be appreciated that applicants have combined the best features of virtual address spaces and data spaces as a communication mechanism for use in a computer system or in a complex of computer systems. It should also be appreciated that applicants have provided a mechanism for the interchange of messages between consoles in an orderly and deliberate fashion so as to be particularly able to match commands and responses thereto in a manner which facilitates the use of console devices for control of the computer system or computer complex. It should also be appreciated that applicants invention has provided data structures which significantly enhance the ability to define console devices to a computer system in a flexible but yet orderly fashion so as to preserve system integrity and to facilitate message delivery and handling through the utilization of queued message entries in a data space which is uniquely associated with a console address space. While the invention has been described in detail herein in accordance with certain preferred embodiments thereof, many modifications and changes therein may be effected by those skilled in the art. Accordingly, it is intended by the appended claims to cover all such modifications and changes as fall within the true spirit and scope of the invention.
|
Same subclass Same class Consider this |
||||||||||
