OPERATION
Initiation
Execute the LDEVMLTS EXEC
Termination
Execute the LDEVTERM command from the server console.
Client Terminal Connection
Issue the
CP DIAL Service_Machine [virtual_device_address]
command from some terminal with a VM Logo. The virtual_device_address can be 0010 through 001F (Default: first address available)
You will be presented with the initial splash screen from which toggle keys can be selected. Then hit Enter and you will see your first logical session with a VM Logo.
Client Terminal Temporary Disconnection
Issue the command LDEVDISC at the COMMAND line of any dialed session.
Client Terminal Re-connection
Issue the
CP DIAL Service_Machine [virtual_device_address]
command from any terminal with a VM Logo, at the same or different physical location.
Your sessions will reconnect from where you left off, unless they are actively updating their displays. In which case you will be presented with the updated displays.
Terminate the Client Terminal Connection
Issue the LDEVEXIT command from any logical device session with a VM Logo.
You should have first terminated each of your VM sessions, otherwise they will be left in the disconnected state as though their terminal was powered down.
Define Virtual Machine for MLTS
This assumes that the LDEVMLTS components are on a common accessible disk in read-only mode such as the 19F disk. Console for MLTS Service Machine is at address 009.
USER LVM1 AUTOONLY 4M 8M G
ACCOUNT 702 LDEVMLTS
IPL CMS PARM AUTOCR
SHARE REL 1000
CONSOLE 009 3270 T OPERATOR
SPOOL 00C 3505 *
SPOOL 00D 3525 A
SPOOL 00E 3203 A
LINK MAINT 190 190 RR
LINK MAINT 19D 19D RR
LINK MAINT 19E 19E RR
MDISK 191 3390 75 81 2 VMSRES MR READ
Autolog1 Recommendations
Have the AUTOLOG1 machine's profile exec provide the
initiation of the LDEVMLTS server machines.
Below two server machines are set up.
'CP XAUTOLOG LVM1'
'CP XAUTOLOG LVM2'
This will ensure that the servers come up automatically at IPL.
Performance Recommendations
Lock MLTS Service Machine pages X'00' and X'20' thru X'2F'.
Set SHARE so that MLTS receives service at a level higher than logical user sessions that it services.
Service Machine PROFILE EXEC
This assumes that the LDEVMLTS components are on the 19F disk.
/* Profile Exec for LDEVMLTS Service Machine */
TRACE ALL
'SET RDYMSG SMSG'
'SET EMSG ON'
'CP SET RUN ON'
'CP AUTOREAD OFF'
'CP TERM HILIGHT ON'
'CP SCREEN VMOUT RED NONE INAREA YELLOW NONE'
'CP SCREEN STATAREA PINK NONE CPOUT TUR NONE INREDISP WHIT NONE'
'CP SP 00C CL *'
'CP SP PRT * '
'ACC 19F W'
'CP SET PF12 RETRIEVE'
'CP SET PF24 RETRIEVE'
'EXECIO 1 CP (STRING QUERY ' USERID()
parse pull . . where .
if where == "DSC" then
do
queue 'LDEVMLTS'
end
EXIT 0
Operational Commands for the MLTS Service Machine
This program provides a facility to simulate much of the function of the multiple logical terminal features of the old IBM 3174 Terminal Control Unit via programming leveraging the VM Logical Device Facility. A single virtual machine acts as the MLTS Server. This server will establish and maintain up to 8 logical terminal sessions for each of a maximum of 16 users.
When a terminal DIALs (using the CP DIAL command) into the MLTS service machine you will receive (if you look fast) the normal dialed terminal connection message posted by CP. Then the LDEVMLTS facility upon recognizing an ATTENTION interruption performs a DIAGNOSE X'8C' to access the device dependent characteristics and features of the dialed device. The CP product Logo will then be displayed and prompt the user for the number of concurrent logical sessions desired (default is 2), and the selection of a session FORWARD TOGGLE KEY (default is PA2), and the optional selection of a BACKWARD TOGGLE KEY such as PF24 (there is no default).
After this point a VM logical device
INITIATE function builds the first session based upon the return of the
Diagnose instruction and the user selected parameters.
The logical device VM Logo based upon your SYSTEM CONFIG is displayed on your screen. This is performed by VM not the LDEVMLTS
product. It is VM that understands, builds and maintains the logical 3270 sessions.
LDEVMLTS simply manages their screen read/write buffers and the transmission of keystrokes
to VM.
Each dialed port may have
up to 8 logical sessions built. A buffer is kept for every logical session and
each is is updated whenever an ACCEPT of data is required by the VM Control Program
for this logical display. The current session display is updated upon the viewable
physical display. Upon toggling through the logical sessions, prior to displaying the
next logical session, the currently displayed session is saved by way of a READ BUFFER command,
then stored in LDEVMLTS data structures supporting this session. Extended features are preserved. Following the save, the next sequential
session is then reconstituted from its storage structures and then presented to
the physical 3270 display.
If a session is updated while it is not currently displayed, it will be updated in its storage buffer, up to a limit of available storage.
All functions performed on the current displayed session are the same as would be without the LDEVMLTS except for the "jump-keys". These keys must be reserved for exclusive use by the LDEVMLTS server to signal your session jumps.
Full detachment of your sessions from the LDEVMLTS server is accomplished by disconnecting or logging off each of the sessions, then entering the LDEVMLTS command "LDEVEXIT" from the VM Logo (or next screen).
Temporary disconnection from the MLTS server is accomplished the MLTS command "LDEVDISC" from the VM Logo, the VM Message screen, or the last line of your currently displayed session. Your programs are still running, unaware of the loss of the physical screen. You can leave your programs running and reconnect to them at a later time, at a different physical terminal or emulator (pretty neat).
In the event of a physical terminal, VPN connection or TN2370 loss (such as could occur presenting a UNIT CHECK or UNIT EXCEPTION), LDEVMLTS will attempt to preserve all your sessions as though the "LDEVDISC" had been entered. (also pretty neat).
The Service Machine console must be defined at address X'0009',
The logical device ports that will be defined by LDEVMLTS will be: X'0010' through X'001F'.
Automatic Approach: Build one or more service virtual machines based on supplied example. Create a PROFILE EXEC based upon supplied sample. This will start the LDEVMLTS service facility if AUTOLOGGED and run disconnected. Have the XAUTOLOG performed by your AUTOLOG1 machine or done manually by an operator.
Manual Approach: Build one or more service virtual machines based on the supplied example. Logon to LDEVMLTS Service machine.
Start: execute LDEVMLTS (The time and version number will display) then enter #CP SET RUN ON#CP DISCONNECT (Note the two pound signs) The server is ready.
Stop: Logon to MLTS Service Machine #CP BEGIN Enter: LDEVTERM
Recovery in the event of 'RESET' toggle, and dialed device is dropped from the service machine:
DIAL the LDEVMLTS Service Machine (ie. LVM1).
Exception event messages will be logged on the MLTS Service Machine console when in "CONNECT" mode. No messages are logged when 'DSC'
For the Dialed user terminals Dial the MLTS Service Machine. CP will post the 'DIALED TO XXXXXXX as VDEV' message.
Hit Enter, the product logo will be displayed.
Logical Device terminal characteristics and features
as determined by the
Diagnose X'8C' are posted at the upper right of the logo screen. The
virtual dialing address is assigned and posted at the upper right.
The date and time of the last CMS IPL performed on the Service Machine
appear just above the logo.
At this time the user is prompted to
select the number of concurrent logical sessions they desire (2-8, default is 2)
and the user may select the PA or PF key that is to be
used as the "session toggle" hot key. This key will be used
to jump to the next session and cannot be used by the underlying
application.
By default the PA2 becomes armed to toggle between sessions in a forward direction if the user hist the ENTER key with no selection of FORWARD TOGGLE KEY.
Constraint: To select a number of sessions greater than the default of two the user place a numeric value between 2 and 8.
Explicit choosing of PA1, PA2 or PA3 as the 'toggle' key will restrict you to the DEFAULT number of sessions. Also at this time the user is prompted to optionally select the PF key that is to be used as the session "backward" toggle key. This key will be used to jump to the previous session and cannot be used by the under- lying application. No default is armed to be the BACKWARD TOGGLE KEY in the event that none is selected.
Constraint: Backward toggle must be a PF Key or PA Key. The acceptable entries are PFxx ,where xx is 01 thru 24. PAy ,where y is 1 thru 3.
Hit Enter, the VM Logo will appear. The first logical session has been established and further sessions can be created using the "session toggle" keys. Hit session toggle key to establish next multiple logical session. A VM Logo will appear for each new logical session. Each session toggle will save the current displayed session and sequence to the next session in round-robin fashion. (1-2-3-...-1) or backward toggling (-4-3-2-1-...-4). The current display and up to 32 queued update messages are saved.
Termination of any one Logical Sessions:
(1) If logged on to a virtual machine: Disconnect or Logoff You will receive normal CP messages. Upon using the ENTER key the VM Logo will appear.
(2) If dialed in to a virtual machine: Use normal disconnect
sequence as you would without MLTS. (such as VTAM, PASSTHRU, VSE
CICS)
Upon CP RESET your keyboard may lock.
Press RESET key followed by ENTER. If NOT LOCKED then just
press ENTER a second time. The VM Logo will appear.
Termination of all Logical Sessions and detachment from Service
Machine. First Logoff or Disconnect from each logical session leaving
the VM Logo displayed on each. On ANY session displaying the VM
LOGO or a blank screen then type:
ldevexit
This will terminate all logical sessions between this port and CP,
then the MLTS service machine will then release the DIALED connection.
ldevdisc This command can be entered at the lower
left-hand corner of the cleared VM Logo display. This
will preserve the logical sessions between this port and
CP, then the MLTS service machine will perform a CP RESET of this
DIALED port.
ldevkill
This command can be entered at the lower
left-hand corner of the cleared VM Logo display. Will perform an emergency
termination from Multiple Logical Device Service Facility.
* * * Known Problem Areas, Constraints and Recoveries * * *
--If any of the logical session screens are updated while they are in the MLTS saved buffers, ..AND..the number of queued messages has exceeded the limit,..OR..the queued messages will overrun the queued message buffers, then further updates are discarded while running in the background.
--An application that sits behind the Logical Session will not be able to perform a screen read operation to one of the logical screens if that screen is not currently on the physical terminal. In most applications this is not a problem since the request for a read is ACCEPTED by the MLTS Service Machine in the form of a READ command which will be queued until the user toggles to that session.
--Lost logical device can occur during disconnect, reset or logoff of a MLTS session using another MLTS session as a secondary console. The lost session will not accept I/O since it is marked severed in CP and active in the MLTS logical device tables.
--In the event of a lost DIALED connection, dropped VPN, terminal hardware failure, etc your sessions will be maintained. Re-establish your DIALED connection, then punch your RESET key followed by the CLEAR key.
--If an underlying application driving a session places the
logical terminal in a inhibit mode, and that logical session subsequently becomes
the displayed physical session, then the inhibit is preserved and
honored at the physical terminal. This will prevent toggling until the inhibit is cleared using
3270 conventions, such as Erase/Write from the underlying application.
You could manually reset the session by disconnecting/reconnecting, which will cause a clear-reset to
the affected session.
[Return to Index]
[Return to Cullen Programming Home
Page]
Copyright © Cullen Programming 1987, 2020 All Rights Reserved |