|
Description  |
|
|
CROSS-REFERENCE TO RELATED APPLICATION
This application is directly related to the subject matter of Patent
Application Ser. No. 856,526, filed Apr. 28, 1986, assigned to the same
assignee here and is incorporated herein in its entirety by reference
thereto.
BACKGROUND OF THE INVENTION
This invention relates to video display processor systems for display of
video data or information on a single display screen for a raster scan
type video display and more particularly to simultaneously displaying
video data reflecting the operation of two processors in discrete portions
of a single display screen and the user interface therefor. Such a
multiprocessor system may comprise a first display processor, e.g. a host
computer system, having a display capability for simultaneously displaying
both the video data of the first processor and the video data of at least
one other display processor, which may, for example, be the emulated
display processor of target system central processor, e.g. the IBM PC,
which other display processor is connected to the host computer. The host
computer system allocates a portion of its display screen for emulation of
the display screen environment of the emulated display processor. Since
the early 1970's, the development and advancement of raster scan display
systems for displaying video information on a video or CRT display has
progressed at a fairly rapid pace. Examples paramount in the advancement
of this area of art include, inter alia, the use of bitmaps which are
memory representations of the pattern of information to be presented on
the display screen of the video display, the bitblt or raster op routine
which is a fundamental bitmap operation for the bit block transfer of a
memory block of information in the display memory from one location to
another location in that memory, and the division of a bitmap display into
several regions, also referred to in the art by many other terms such as
viewports, files, ports, windows, pages or layered bitmaps, to provide
separate display of video information in independent screen regions. The
processor systems controlling such multi-region screens may include, for
example, means (1) for the manipulation of displayed data presented or
present in the different regions of the display screen, (2) for the
relocation of either entire regions including the displayed data therein
to other portions of the display screen or beneath or on top of other
display regions of the display screen and (3) for the relocation of
displayed data in one screen region to another screen region. Examples of
such systems as the Xeros 8010 Professional Workstation or Information
System first commercially introduced by Xerox Corporation in April, 1981
and the Xerox 1100 SIP for the Xerox Smalltalk-80.TM.System first
commercially introduced in November, 1983 and previously described with
pictorial representations in Volume 6(8) of BYTE of August, 1981,
published by BYTE Publications, Inc., a subsidiary of McGraw-Hill, Inc.
See also U.S. Pat. No. 4,414,628 which discloses a raster display system
for processing and displaying a plurality of superimposed pages on a
single display screen. Further, U.S. Pat. Nos. 4,533,910, 4,450,442 and
4,555,775 respectively disclose raster display systems for (1) creating
and displaying video information in different regions on a single display
screen, (2) displaying a plurality of display files from separate
processors in superimposed relationship and in any desired combination
thereof on a single display screen and (3) displaying several superimposed
bitmap layers, each representative, for example, of a window port, and
wherein all layers are displayed, as superimposed, and are running
simultaneously so that any one of the windows may be interacted with at
any time.
In recent times, with the introduction of the microprocessor-based IBM PC
and its more recent follow-ons, such as, the IBM PC XT and the IBM AT (all
collectively hereinafter referred to as the "IBM PC") produced by the IBM
Corporation and with its high level of placement in the business community
and general consumer market, there has been a number of manufacturers and
developers developing systems that have been either designed to be an
equivalent to an IBM PC or designed to emulate an IBM PC via an emulating
software environment. The wide acceptance of the IBM PC has also created a
huge software inductry catering to the IBM PC market, including emulated
or equivalent versions in that market, for various kinds of applications,
e.g. Lotus 1-2-3.TM., Wordstar.TM., Multimate.TM., Symphony.TM., Framework
II.TM., Multiplan.TM., Turbo Pascal.TM., C Compiler (Microsoft.TM.),
Pascal Compiler (Microsoft.TM.) and Cobol Compiler (Microsoft.TM.), etc.
Manufacturers and developers have found that in order to maintain their
own personal computer based system viable in the market place, they must
also make some provision for running IBM PC applications and programs
since many customers or potential customers already have IBM PC equipment
in use in day to day business and work.
For the most part, these competing manufacturers and developers have
provided in their systems separate hardware and/or software for emulating
the IBM PC which may be booted and run separately, while their own
proprietary system is inactivated, to permit the running of IBM PC
applications and programs already in the hands of IBM PC users. While
users of such competitive systems can process data or run applications or
programs applicable to either the proprietary system or to the IBM PC
emulated or equivalent system provided in the same machine, there has been
no offering of a means by which the proprietary system can be running
simultaneously on the same display facility with the IBM PC emulated or
equivalent system so that IBM PC applications and programming could be
carried out while the proprietary system is also concurrently running and
to further permit the transfer of displayed video data and/or application
and program files from one such system to the other for further use or
processing.
SUMMARY OF THE INVENTION
According to this invention, a multiprocessor system comprises concurrent
display of video data reflecting the operation of two processors in
discrete portions of a single display screen with a user interface adapted
for interaction with both processors. One processor controls the entire
display while allocating a portion of the display screen for the use of
the other processor which processor emulates a target processor system,
for example, the IBM PC. To fully emulate another target processor system
requires emulation of its screen facility and abstractions used in the
display operations of the targeted system.
More specifically, the multiprocessor system comprises a general purpose
host computer having a central processor having real resources including
I/O devices, main memory, a video display with a display bitmap memory for
display information that is destined for display on the display screen of
said display and user input means, e.g. a keyboard and a cursor control
device or mouse, to the host computer to provide user input to the display
screen. A user interface on the display screen includes metaphoric symbols
with which the user can interact with by using the input means to
selectively change the focus of the input means to a designated symbol
visually pointed to via the input means to thereafter permit manipulation
of the designated symbol or interaction with data input/output relative to
the designated symbol. As previously indicated, the system also includes
at least one emulating computer having a processor emulating a target
processor system and further includes interface means for emulating the
above identified real resources for the emulating processor which is
responsive to the input/output of the emulating processor for
communicative sharing of the central processor real resources by the
emulating processor. There are also means in the interface to direct user
input via the input means as input for either the central processor or the
emulating processor. The input means also initially changes the input
focus to either the allocated emulating processor screen portion or to the
remaining portion of the central processor display screen prior to
interaction with the metaphoric symbols in a selected screen portion. The
change of input focus causes subsequent user input via the input means to
be directed to particular selected screen portion until interrupted by a
change in focus input to the other unselected screen portion, which is
accomplished by the user via the input means.
Facilities are also provided to permit transferring of displayed data
reflecting the operation of one processor to the control of the other
processor in response to user inputs selecting the data to be transferred
and indicating the destination of the selected data on the display. More
specifically, if data from each processor is displayed in a discrete
portion of the display screen, the user may select data in one processor's
controlled screen portion or more or selected document and transfer it to
the other processor's controlled screen region, and vice versa.
A more specific aspect relative to the foregoing is that the display
environment is designed to emulate the IBM PC display by providing all of
the information which would appear on the PC display in a portion of the
host system display called the PC emulator window. The display screen of
the host system represents an abstraction of the business office metaphor
and includes software applications, called "ViewPoint" supported by basic
workstation (BWS) software to support those applications. The office
metaphor includes an office desktop as well as a representation of the
emulating processor as the PC emulator, which is represented as a
metaphoric icon or symbol on the host system screen, which, when "opened",
reveals an emulated PC window. The display screen of the host system also
shows other objects beside the PC emulator window, and some of those
objects are other icons for the PC emulator or for the host system
operation or for both. Other objects represented in iconic form are in and
out baskets, waste baskets, documents, folders, messages, file drawers,
printers, etc. Further objects are basic workstation (BWS) windows and
property sheets associated with the operation of either processor and for
each of the above mentioned objects. This ability to display both an
emulated PC display screen and, in the remainder of the display screen,
the conventional display screen of the host system is an important feature
of this invention. The host system processor loads the information to be
displayed into a bitmap memory from both display data read from the PC's
emulated main memory allocated in the host system's main memory as well as
display data read from the host system's main memory.
Another feature of this invention is that the configuration of the PC
emulator may be freely chosen, i.e., the configuration of the PC emulator
can be preselected prior to booting of the emulator. The configuration is
arranged through a property sheet associated with the emulator icon. For
example, the user may open the emulator property sheet and select a
configuration that includes a physical floppy disk drive, which is the
actual floppy drive of the host system, one or more emulated floppy
drives, and an emulated fixed disk. The emulated fixed disk and emulated
floppy drives, as selected, are not physically present, but are present as
allocated file space on the host system hard disk. The user may also
select a memory size of 128, 256, 384, 512 or 640 K Bytes, which appears
as emulated main memory located in the host system main memory. The
emulator will appear as an icon on the display screen, which when selected
and opened by the user, having been previously configured, results in the
booting of the PC emulator in the configuration previously established via
the emulator property sheet.
Another important aspect of this invention is that means is provided for
capturing information displayed in either portion of the display screen
dedicated to the respective display processors. Provision is made for the
captured information displayed or a document selected to be copied and in
some cases moved to the display portion of the other.
There are several techniques in which information may be transferred
between the designated screen portions of the two display processor means.
The first data transfer technique is a copy of selected text between the
PC emulated screen and a BWS window of the host system. To copy out of the
emulated screen, the user selects a command in the PC emulator window
header termed "Pause", causing the operational state of the PC emulator to
be "frozen" with the emulator display window now being under the control
of the host central processor. Also, the emulating processor is frozen
suspending the running of a current PC program. The user then selects the
data in the emulator window to be copied, which data is highlighted by the
host system to indicate selection. The user then initiates a copy
operation to transfer the selected data to a BWS window as the
destination, causing the host central processor to copy the selected data
into the selected BWS window. To continue operation of the PC emulator,
the user selects a command in the PC emulator window header termed
"Resume", causing the operational state of the PC emulated to be "thawed"
with the emulator display window now being under the control of the
emulating processor and the PC program resumes from exactly the same point
at which its operation was suspended. To transfer data from a BWS window
into the PC emulated screen, the user selects data in a BWS window at a
time when the PC emulator is not in a frozen state but rather its running
or "thawed" state, and the selected data is highlighted. The user then
initiates either a copy or move operation to transfer the selected data to
the PC emulated window as the destination, causing the host central
processor to generate a series of emulated keystrokes equivalent to the
keystrokes that would be necessary for input of the selected data and
provide those keystrokes to the keyboard port of the PC emulating
processor via the host system. If the PC emulator is running a program
which will display input keystrokes, the data will appear in the PC
emulated window, but in any event this input of keystrokes will be under
the control of the PC emulating processor.
The second data transfer technique is a transfer of a block of data
corresponding to a virtual floppy disk from control of either processor to
the other. The data itself is on the host system rigid disk, and does not
actually move from one memory location to another, but control over the
access to the emulated floppy disk icon and access to its rigid disk
location is moved. The block of data is called a virtual floppy, meaning
that it is formatted to appear to be a floppy disk to the PC emulator. At
any given time, the virtual floppy disk is available to, at most, one of
the processors, but never both. When represented as an icon on the BWS
portion of the display screen, it may be selected and moved or copied onto
one of the emulated floppy drive symbols as configured in the PC emulator
window and shown in the window header thereby placing it under the control
of the PC emulator processor. When loaded in this manner on an emulated
floppy drive of the PC emulator, the virtual floppy may be removed by
"clicking" with the system mouse directly over the emulated floppy drive
symbol, the mouse screen cursor at this point representing in miniature
the virtual floppy disk, and using the mouse to relocate this special
cursor on the desktop of the display screen. At the point of relocation,
the virtual floppy disk icon will appear on the desktop of the display
screen, and the data represented by the virtual floppy will be under the
control of the host system processor.
The third data transfer technique is also a transfer of a block of data,
either on the host system rigid disk or on a real floppy disk loaded in
the host system physical floppy drive. Unlike the transfer of a virtual
floppy disk, however, these transfers of data require that the PC emulator
be in a state from which it must subsequently be booted for further
operation. If the floppy is in the drive, its contents may be transferred
to PC emulator control by booting the PC emulator configured to include
the physical floppy drive. Similarly, the contents of the emulated fixed
disk, represented by a block of reserved space on the host system rigid
disk, may be placed under PC emulator control by booting the PC emulator
configured to include the emulated fixed disk. Conversely, to transfer the
floppy or emulated fixed disk to BWS desktop control, the operation of the
PC emulator must be halted, freeing up the physical floppy drive and the
emulated fixed disk from its control. Icons on the display screen
representing these sources of data may then be directly accessed to obtain
the data stored in these emulated media.
The fourth data transfer technique is a transfer of an actual bitmap of a
selected part of the PC emulation window into a BWS desktop window, using
a utility of the host system processor. This technique cannot be used for
transfer of data to the control of the emulating processor, but can
transfer data generated by the emulating processor to the control of the
host system processor. In effect, this particular host system utility
takes a snapshot of the selected part of the display screen via a
selection of data stored in the display bitmap memory, which may be
comprised of all or part of the PC emulator window displaying graphics or
alphanumeric information, and transfers it to a BWS window of the host
system.
Other objects and attainments together with a fuller understanding of the
invention will become apparent and appreciated by referring to the
following description and claims taken in conjunction with the
accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional block diagram showing the major components of the
multiprocessor system of this invention.
FIG. 2 is a schematic diagram illustrating the software architecture of the
multiprocessor system of FIG. 1.
FIG. 3 is a schematic diagram illustrating the hardware architecture and
typical screen display abstraction used with the multiprocessor system of
FIG. 1.
FIG. 4 is an an enlarged view of a computer generated representation of the
display screen of FIG. 3 showing a desktop with various sundry metaphoric
icons or symbols.
FIG. 4A is similar to FIG. 10 and shows the computer generated view of the
open window for the loader symbol or icon illustrating various software
applications and their status.
FIG. 4B is a computer generated view of the property sheet for a particular
application.
FIG. 5 is a computer generated view of FIG. 4 with the document entitled,
"The ViewPoint Story" opened and its content displayed | | |