|
A Virtual Terminal Management Model |
prepared for
Defense Communications Agency
WWMCCS ADP Directorate
Command and Control Technical Center
11440 Isaac Newton Square
Reston, Virginia 22090
by
Jose Nabielsky
Anita P. Skelton
The MITRE Corporation
MITRE C(3) Division
Washington C(3) Operations
1820 Dolley Madison Boulevard
Page
2.2.1 Virtual Terminal Connectivity 11
2.2.2 Virtual Terminal Organization 11
2.2.2.1 The Virtual Keys 12
2.2.2.2 The Virtual Controller 12
2.2.2.3 The Virtual Display 12
2.2.3 Virtual Terminal Architecture 13
2.2.3.1 Communication Variables 13
2.2.3.2 Virtual Display with File Extension 13
2.2.3.3 Virtual Display Windows 14
2.3 The Workstation Model 17
2.3.1 The Adaptation Unit 17
2.3.2 The Executive 18
iii
Page
2.1 The Virtual Terminal Model 7
2.2 The Workstation Model 8
2.3 VT 0 (expanded from previous figure) 9
2.4 The Domains 14
v
Recent advances in micro-electronics have brought us to the age
A personal workstation is a computing engine which consists of
In this personal environment, processing resources previously
The workstation can provide the user with the mechanisms to
The nature of the conversations on these logical displays need
Moreover, as long as the technological trend continues in its
1
All virtual terminal protocols (VTPs) provide a vehicle for
As with a real device, a virtual terminal has a well-defined
The model of a personal workstation as a dedicated device with
This document presents a radical view of virtual terminals as
2
To communicate with its correspondents, a virtual terminal uses
In essence, the virtual terminal has become a device in its own
The functional breadth of virtual terminals has been augmented
Finally, the functional depth of the virtual terminal has been
An overview of the virtual terminal model and the management of
This document represents work in progress; current international
3
The concepts presented in this document are the offspring of
4
This section describes a virtual terminal management (VTM) model
The VTM architecture is a multi-user structure which spans
Before embarking on a description of the VTM model components,
HUMAN <---> WORKSTATION
The workstation assigns to each user conversation a logical terminal with a well-distinguished logical display. Under
the user control, the workstation maps these logical
displays on non-overlapping areas of the physical display,
providing a dedicated workspace between user and
correspondents. Limited only by the area of the display,
many logical displays could be mapped at one time, each
providing display updates when so required. Since the area
of the display is a scarce resource, not all logical
displays need be mapped at the same time. Therefore, the
workstation may roll-out and roll-in selected displays under
the user control, thereby also multiplexing the physical
display in time.
5
select a new logical terminal by some well-defined
interaction (e.g., depressing a function key, using a
pointing device, and such), effectively switching the
ownership of the input tools.
The capabilities of the workstation limit the scope and
character of the individual conversations. If the
workstation supports rubout processing (i.e., erase
operations on lines and characters), then the logical
terminals can be independent, scrolling "terminals," some
page-oriented, others line-oriented. If the architecture of
the workstation supports graphics objects as primitive
objects then so can the individual logical terminals. As a
consequence, while some logical terminal displays may be
dedicated to alphanumeric output, others may include raster
graphics and imaging data together with positioned text.
Several end-users may link to a single logical terminal. All linked parties are viewed by the shared "device" as both input sources and output sinks. As a consequence this device sharing need not be limited only to the sharing of device output. In general, each linked party may have full read and write access to the logical terminal, if it so desires.
In the user's view, a logical terminal display is a user- specified window on a potentially larger structure, the "device" display. This window provides the "peephole" through which the device display is viewed. The portion of the device display mapped on this window is not limited to
its "present contents." Under the user control, the
workstation may invoke the viewing of past activity on a
logical terminal display when the device display is I/O
file-extended. Since the window mechanism is an integral
part of the device architecture, it is available on all
logical terminal displays. Furthermore, the viewing of past
activity does not affect others sharing access to the
device.
6
As part of the user interface, the workstation provides simple "keys" through which the user controls the output on a logical terminal display. These workstation "keys" need not be physical keys, but could be other input tools used for this purpose (e.g., analog dials, hit-sensitive areas on the physical display, and such). In any event, through the auspices of the workstation, the user's control requests
translate into the proper commands to the "device"
associated with the logical terminal.
APPLICATION <---> ADAPTATION UNIT
For each real terminal architecture, one canonical
representation: a logical device.
Some logical devices are intrinsically half-duplex (e.g., a page-oriented logical device), some are full-duplex (e.g., communicating processes using a stream-oriented logical device), and some may be either half or full-duplex (e.g., a line-oriented logical device). Some full-duplex logical devices can provide no echoing, remote echoing, or local
echoing. Those that interface with applications that
support command completion (e.g., command-line interpreters)
can shift the locus of echoing as a function of a dynamic
break character set.
As part of an application's model of interaction, an application may "own" several logical devices. For example, an editor could use a line-oriented logical device to gather top-level commands, and a page-oriented logical device to provide editing workspace.
The virtual terminal management model consists of two major
7
|
AU0 | AU2
| | |
_______________
| |
| VT2 |
| |
| |
_______________
| _______________
| | |----AU0
|_______| VT0 |
|_______| |
| | |----AU1
| _______________
|
________________
| |
| |
| VT1 |
| |
________________
| | |
AU0 | AU2
|
AU1
FIGURE 2.1 - THE VIRTUAL TERMINAL MODEL
8
___ ___ ___ ___
|VT1||VT2| |VT1||VT2|
____ _____ _____ ____
| | | |
__|_____|_________________|_____|__
| | | | | | | |
| REMOTE | -CONTROLLER-| REMOTE |
| KEYS | | DISPLAYS |
| | | |
| VIRTUAL | | DATA |
| KEYS | | STORE |
| |<----------->| |
| LOCAL | | LOCAL |
| KEYS | | DISPLAYS |
| | | |
__|_____|__________________|_____|__
| | | |
____ ____ _____ ____
|AU0||AU1| |AU0||AU1|
____ ____ _____ ____
FIGURE 2.2 -- VT0 (expanded from previous figure)
9
+--------------------+
| |
o-|-------------------|
| EXECUTIVE |
|--------------------|
Screen +-------+ o-|--------------------| +-----+
+---------+ /|OUTPUT | | ADAPTATION UNIT 0 |<---->| VT0 |
|EXECUTIVE| / | |<---|--------------------| +-----+
|---------| / |HANDLER| o-|--------------------| +-----+
| AU0 | / |-------| | ADAPTATION UNIT 1 |<---->| VT1 |
|---------| / | INPUT | |--------------------| +-----+
| AU1 |/ | | o-|--------------------|
|---------| |HANDLER| | . |
| | | /--|o | . |
~ ~ +-------+ ~ . ~
~ ~ / ~ ~
|---------| / o-|--------------------| +-----+
| AUK | / | ADAPTATION UNIT K |<---->| VTK |
+---------+ / +--------------------+ +-----+
/ | |
+---------+ / +--------------------+
|Keyboard | /
+---------+ /
|[] [] [] | /
|[] [] [] |/
+---------+
FIGURE 2.3 - THE WORKSTATION MODEL
The objective of virtual terminal protocols is to provide the
10
The design postulates an integrated virtual terminal model which
Most virtual terminal protocols only cater to two-way dialogues
We define the virtual terminal as a n-way device where one or
It is important to note that we have decoupled the virtual
The virtual terminal is viewed ultimately as a well-defined data
The virtual terminal is an abstraction; its organization, the
We have conceptualized the virtual terminal as a meta-terminal (i.e., the terminal of terminals). The meta-terminal is composed of
11
2.2.2.2 The Virtual Controller. The virtual controller
provides virtual terminal session management. It manages the
2.2.2.3 The Virtual Display. The virtual display is the
The virtual display manages the data structure associated with
Different virtual terminal classes are spawned by different "kinds" of virtual displays, and this is realized in one of two ways.
12
The commands, and associated parameters, which are available to
Three important architectural features of the meta-terminal are:
2.2.3.2 Virtual Display with File Extension. The virtual
13
14
| | |
| VIRTUAL TERMINAL | ADAPTATION UNIT |
|<------------------------------->|<--------------------------------->|
| DOMAIN | DOMAIN |
| | |
+ - - - - - - - - - + + - - - - - - - - - + - - - - - - - - -
| +---> x(m) | | | / /|
| | | | x(i) | / / |
| v y(m) | | +---------------> | - - - - - - - - - |
| | | | | | | +------------+ | |
| +--------------+ | | | | | | | VIEWPORT 1 | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | A<---------|--|-----|-|->A | | |
| | | | | | / \ | | | | | | |
| | <--------|--|---|-|-> \ | | | | | | |
| | / | | | | \ | | | | <---|-|--|+
| | A | | | | \ | | | +------------+ | ||
| | | | | | \ | | | | ||
| | WINDOW | | | | \ | | | +------------+ | ||
| | | | | | \ | | | | VIEWPORT 2 | | ||
| | | | | |-----------\--+ | | | | | ||
| | | | | | \ | | | | | ||
| +--------------+ | | v y(i) \ | | +------------+ | ||
| | | \ | | | / |
| | | \ | | | |
| | | \| - - - - - - - - |
| / | | / | | | |
+ - -/- - - - - - - + + - - -/- - - - - - +\ | | |
/ / \ - - - - - - - - |
/ / \ | KEYBOARD | |
MASTER WORKSPACE INSTANCE WORKSPACE \ + - - - - - - - + |
<-/ [] [] [] /| |
/ [] [] [] / | |
+ - - - - - - - - + |
|
PHYSICAL DEVICE WORKSPACE --+
FIGURE 2.4 -- THE DOMAINS
15
All adaptation units communicate with the virtual terminal "relative" to their own instance workspace. As far as the virtual
The window dimensions are the exclusive choice of the adaptation
In contrast, the position of the window on the master might not
16
However, an adaptation unit has the choice to bypass this rule
The workstation model is composed of one or more adaptation
An adaptation unit embodies an instance of a virtual terminal,
The adaptation unit can be viewed as the workstation agent which
The adaptation unit also produces virtual input to the virtual
17
This conceptual entity performs the task and resource management
It must provide at least a minimal user command interface so
Finally, the executive provides the mechanism for the end-user
18
command and control environment," Information Sciences
Institute, Marina del Rey, California, April 1978.
Working Group RFC 732, Network Information Center, SRI
International, September 1977.
graphics based text editor, Computer Science Department,
Carnegie-Mellon University, June 1973.
19
- some early experience with a distributed computation," Xerox
Palo Alto Research Center publication SSL-80-3. Presented at
the Workshop on Fundamental Issues in Distributed Computing,
ACM/SIGOPS and ACM/SIGPLAN, December 1980.
G. Bell, and A. Newell, Computer Structures Readings and
Examples, editors, second edition, McGraw-Hill, 1979.
20