|
|  Get related patents on CD |
| United States Patent | 4949248 |
| Link to this page | http://www.wikipatents.com/4949248.html |
| Inventor(s) | Caro; Marshall A. (43 Little Neck Rd., Southampton, NY 11968-4311) |
| Abstract | A local-area-network based system for shared remote access or control of
application programs in one or more computers by one or more other
computers is provided having particular utility for trading rooms of
securities firms, wherein each operator position is permitted the
capability to access any of a number of information services. Information
services, each of which communicates with a personal-computer-based video
source running an applications program specific to that information
service, are represented on a local-area network as nodes called servers.
Each server runs the application program, unmodified, together with other
terminate-and-stay-resident software which periodically broadcasts a video
message, the content of which is the change of the application program
display screen contents since the time of the last broadcast. The sender
of the broadcast does not watch for the acknowledgements from recipients,
which are other nodes on the network called clients, nor does the sender
maintain a list of intended recipients. If a recipient misses a video
message broadcast, it may request that the sender broadcast the contents
of the entire display screen contents. Each client runs terminate-and-stay
resident software which may through a hot key sequence entered from the
client's keyboard request control of the application program of a
particular server. Upon being granted such control, which may be shared
among two or more clients, the client may send keystrokes to the server
for controlling its application program. |
| |
|
Title Information  |
|
|
|
|
|
|
| Publication Date |
August 14, 1990 |
|
|
|
|
|
| Filing Date |
July 15, 1988 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 3323119
|      Your vote accepted [0 after 0 votes] | | 3248705
|      Your vote accepted [0 after 0 votes] | | 4774664 Campbell 705/38 Sep,1988 |      Your vote accepted [0 after 0 votes] | | 4720784 Radhakrishnan 710/107 Jan,1988 |      Your vote accepted [0 after 0 votes] | | 4688170 Waite 703/27 Aug,1987 |      Your vote accepted [0 after 0 votes] | | 4604686 Reiter 703/25 Aug,1986 |      Your vote accepted [0 after 0 votes] | | 4538993 Krumholz 434/118 Sep,1985 |      Your vote accepted [0 after 0 votes] | | 4535401 Penn 700/3 Aug,1985 |      Your vote accepted [0 after 0 votes] | | 4513373 Sheets 709/236 Apr,1985 |      Your vote accepted [0 after 0 votes] | | 4486853 Parsons 345/418 Dec,1984 |      Your vote accepted [0 after 0 votes] | | 4456951 Henneberger 700/2 Jun,1984 |      Your vote accepted [0 after 0 votes] | | 4441162 Lillie 709/212 Apr,1984 |      Your vote accepted [0 after 0 votes] | | 4430639 Bennett 340/10.6 Feb,1984 |      Your vote accepted [0 after 0 votes] | | 4419661 Hetsugi 345/1.3 Dec,1983 |      Your vote accepted [0 after 0 votes] | | 3623067 Deal, Jr. 426/483 Nov,1971 |      Your vote accepted [0 after 0 votes] | | 3573747 Adams 359/715 Apr,1971 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
|
|
|
|
|
|
Public's "Guesstimation" of Royalty Value
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
I claim:
1. A system for remote shared access or control or one or more application
programs executing in one or more server computers on a local-area network
by one or more client computers on the local-area network, each of the
server computers having at least a first memory containing video data
representing a screen presentation, a second memory having at least one
application program, a selective operating system program and a respective
local-area network driver program, a processor for executing the programs
in the second memory, and a respective interface to the local-area
network, and each of the client computers having at least a first memory
containing video data representing a screen presentation, a display for
presenting the video data in its first memory, a second memory containing
a respective operating system program and a respective network driver
program, a processor for executing the programs in the second memory, a
keyboard, and a respective interface to the local-area network, the system
comprising:
means operatively coupled to the first memory in each server computer and
being responsive to a change in the video data in the first memory of the
server computer for providing on the local-area network one or more
videograms representing the change in such video data;
means in each client computer responsive to one of a plurality of first
predetermined sequences of keystrokes entered from the keyboard of the
client computer for providing on the local-area network a control request
message requesting control of an application program of a particular one
of the server computers;
means in each server computer responsive to a control request message on
the local-area network requesting control of an application program of the
server computer for confirming whether or not the client computer
providing the control request message is permitted to control such
application program and providing on the local-area network a control
request reply message respectively granting or denying the client computer
providing the control request message control of such application program
of the server computer;
means in each client computer responsive to a control request reply message
on the local-area network granting the client computer control of an
application program of a particular one of the server computers, to which
the client computer has provided a control request message, for providing
a video recovery request message on the local-area network requesting one
or more videograms representing all the video data in the first memory of
the particular one of the server computers, and thereafter receiving and
processing each videogram on the local-area network providing by the
particular one of the server computers by changing the video data in the
first memory of the client computer in accordance with the videogram;
means in each client computer responsive to a control request reply message
on the local-area network granting the client computer control of an
application program of a particular one of the server computers, to which
the client computer has provided a control request message, for
subsequently responding to one or more keystrokes from the keyboard of the
client computer and providing on the local-area network one or more
keystrokegrams representing the one or more keystrokes;
means in each server computer responsive to a video recovery request
message on the local-area network from a client computer, to which the
server computer has granted control of an application program thereof, for
providing on the local-area network one or more videograms representing
all the video data in the first memory of the server computer; and
means in each server computer responsive to one or more keystrokegrams on
the local-area network from a client computer, to which the server
computer has granted control of an application program thereof, for
deriving one or more keystrokes represented by such keystrokegrams and
passing the derived keystrokes for processing by such application program
of the server computer.
2. A system for remote shared access or control according to claim 1,
further comprising:
means in each client computer responsive to one of a plurality of second
predetermined sequences of keystrokes from the keyboard of the client
computer for providing on the local area network a video request message
requesting access to the video data in the first memory of a particular
one of the server computers;
means in each server computer responsive to a video request message on the
local area network requesting access to the video data in the first memory
of the server computer for confirming whether or not the client computer
providing the video request message is permitted to access the video data
in the first memory of the server computer and providing on the local area
network a video request reply message respectively granting or denying the
client computer providing the video request message access to the video
data in the first memory of the server computer, wherein if the client
computer providing the video request message is granted such access, the
server computer provides on the local area network one or more videograms
representing all the video data in the first memory of the server
computer; and
means in each client computer responsive to a video request reply message
granting the client access to the video data in the first memory of a
particular one of the server computers, to which the client computer has
provided a video request message, for receiving and processing each
videogram on the local area network provided by the particular one of the
server computer by changing the video data in the first memory of the
client computer in accordance with the videogram.
3. A system for remote shared access or control according to claim 2,
further comprising means in each server computer for passing keystrokes
derived from keystrokegrams provided by each client computer, to which the
server computer has granted control of an application program thereof, in
accordance with a predetermined priority scheme, wherein if the server
computer has its own keyboard, keystrokes entered from such keyboard are
assigned a lower priority than keystrokes derived by the server computer
from keystrokegrams on the local area network.
4. A system for remote shared access or control according to claim 3,
wherein each videogram provided by a server computer includes a sequence
number indicative of the order in which the videogram is provided on the
local area network by the server computer, and each control request reply
and video request reply provided by the server computer granting a client
computer control of the application program in the server computer and
access to the video data in the first memory of the server computer,
respectively, includes the sequence number of a next videogram to be
provided on the local area network by the server computer, further
comprising in each client computer means for determining whether the
sequence number of a current videogram on the local area network provided
by a server computer, which has granted the client computer control of an
application program thereof or which has granted the client access to the
video data in the first memory thereof, is greater by one than the
sequence number of a previous videogram provided by such server computer
and processed by the client computer, and for providing a video refresh
request on the local-area network to such server computer if the sequence
number of the current videogram is not greater by one than the sequence
number of the previous videogram.
5. A system for remote shared access or control according to claim 4,
wherein each of the means in each server computer comprises one or more
program routines in the second memory of each server computer executed by
the processor of each server computer, and each of the means in each
client computer comprises one or more program routines in the second
memory of each client computer executed by the processor of each client
computer.
6. A system for remote shared access or control according to claim 5,
wherein each of the program routines of the means in each server computer
are terminate-and-stay-resident program routines separate from each
application program of each server computer, and the program routines of
the means in each client computer are terminate-and-stay-resident program
routines separate from any application program of each client computer.
7. A system for remote shared access or control according to claim 5,
wherein the program routines of the means in each server computer are part
of at least one application program of at least one server computer.
8. A system for remote shared access or control according to claim 7,
further comprising one or more cooperating server computers coupled to the
local-area network, each of the cooperating server computers having a
plurality of first memories each containing respective video data
representing a corresponding screen presentation, a second memory having a
plurality of application programs each including the program routines of
the means in each server computer, a respective operating system program
and a respective local-area network driver program, a processor for
executing the programs in the second memory, and a respective interface to
the local-area network, each cooperating server computer being programmed
to concurrently execute the plurality of application programs, whereby
each cooperating server computer is capable of functioning as a plurality
of server computers on the local-area network.
9. A system for remote shared access or control according to claim 5,
wherein the program routines of the means in each client computer are part
of at least one application program of at least one client computer.
10. A system for remote shared access or control according to claim 9,
further comprising one or more cooperating client computers coupled to the
local area network, each of the cooperating client computers having a
plurality of first memories each containing respective video data
representing a corresponding screen presentation, a second memory having a
plurality of application programs each including the program routines of
the means in each client computer, a respective operating system program
and a respective local-area network driver program, a processor for
executing the programs in the second memory and a respective interface to
the local-area network, each cooperating client computer being programmed
to concurrently execute the plurality of respective application programs,
whereby each cooperating client is capable of functioning as a plurality
of client computers on the local-area network.
11. A system for remote shared access of one or more application programs
executing in one or more server computers on a local area network by one
or more client computers on the local area network, each of the server
computers having at least a first memory containing video data
representing a screen presentation, a second memory having at least one
application program, a respective operating system program and a
respective local area network driver program, a processor for executing
the programs in the program memory, and a respective interface to the
local area network, each of the client computers having at least a first
memory containing video data representing a screen presentation, a display
for presenting the video data in the first memory, a keyboard, a second
memory having a respective operating system program and a respective
network driver program, a processor for executing the programs in the
program memory, and a respective interface to the local area network, the
system comprising:
means in each server computer responsive to a change in the video data in
the first memory of the server computer for providing on the local area
network one or more videograms representing the change in such video data;
means in each client computer responsive to one of a plurality of first
predetermined sequences of keystrokes entered from the keyboard of the
client computer for providing on the local area network a video request
message requesting access to the video data in the first memory of a
particular one of the server computers;
means in each server computer responsive to a video request message on the
local area network requesting access to the video data in the first memory
of the server computer for confirming whether or not the client computer
providing the video request message is permitted to access the video data
in the first memory of the server computer and providing on the local area
network a video request reply message respectively granting or denying the
client computer providing the video request message access to the video
data in the first memory of the server computer wherein if the client
computer providing the video request message is granted such access, the
server computer provides on the local area network one or more videograms
representing all video data in the first memory of the server computer;
and
means in each client computer responsive to a video request reply message
granting the client access to the video data in the first memory of a
particular one of the server computers, for which, the client has provided
a video request message, for receiving and processing each videogram on
the local area network provided by the particular one of the server
computers by changing the video data in the first memory of the client
computer in accordance with the videogram.
12. A system for remote shared access according to claim 11, wherein each
videogram provided by a server computer includes a sequence number
indicative of the order in which the videogram is provided on the local
area network by the server computer, and each video request reply provided
by the server computer granting a client computer access to the video data
in the first memory of the server computer includes the sequence number of
the next videogram to be provided on the local area network by the server
computer, further comprising in each client computer means for determining
whether the sequence number of a current videogram on the local area
network provided by a server computer which has granted the client
computer access to the video data in the first memory means thereof is
greater by one than the sequence number of the previous videogram provided
by such server computer and processed by the client computer, and for
providing a video refresh request to such server computer if the sequence
number of the current videogram is not greater by one than the sequence
number of the previous videogram.
13. A system for remote shared access according to claim 11, wherein the
second memory of at least one of the server computer has a program for
providing communications with an information service providing data for
processing by one or more of the application programs of the server
computers, and wherein the at least one of the server computers
additionally comprises a modem for operatively connecting the at least one
of the server computers with a communications line to the information
service.
14. A system for use in a securities firm trading floor for remote shared
access of one or more application programs executing in one or more server
computers on a local-area network by one or more client computers on the
local-area network, each of the server computers having at least a first
memory containing video data representing a screen presentation, a second
memory having at least one application program, a respective operating
system program and a respective local-area network driver program, a
processor for executing the programs in the second memory, and a
respective interface to the local-area network, wherein at least one of
the server computers further comprises a modem, the second memory of the
at least one of the server computers has a program for providing
communications with an information service providing data for processing
by one or more of the application programs of the server computers, and
the modem is operatively connected to communicate with the information
service, each of the client computers having at least a first memory
containing video data representing a screen presentation, a display for
preventing the video data in the first memory, a keyboard, a second memory
having a respective network driver program, a processor for executing the
programs in the second memory, and a respective interface to the
local-area network, the system further comprising:
means in each server computer responsive to a change in the video data in
the first memory of the server computer for providing on the local-area
network one or more videograms representing the change in such video data;
means in each client computer responsive to one of a plurality of first
predetermined sequences of keystrokes entered from the keyboard of the
client computer for providing on the local-area network a video request
message requesting access to the video data in the first memory of a
particular one of the server computers;
means in each server computer responsive to a video request message on the
local-area network requesting access to the video data in the first memory
of the server computer for confirming whether or not the client computer
providing the video request message is permitted to access the video data
in the first memory of the server computer and providing on the local-area
network a video request reply message respectively granting or denying the
client computer providing the video request message access to the video
data in the first memory of the server computer, wherein if the client
computer providing the video request message is granted such access, the
server computer provides on the local-area network one or more videograms
representing all video data in the first memory of the server computer;
and
means in each client computer responsive to a video request reply message
granting the client access to the video data in the first memory of a
particular one of the server computers, for which the client has provided
a video request message, for receiving and processing each videogram on
the local-area network provided by the particular one of the server
computers by changing the video data in the first memory of the client
computer in accordance with the videogram.
15. A system for remote shared access according to claim 11, wherein each
videogram provided by a server computer includes a sequence number
indicative of the order in which the videogram is provided on the local
area network by the server computer, and each video request reply provided
by the server computer granting a client computer access to the video data
in the first memory of the server computer includes the sequence number of
the next videogram to be provided on the local area network by the server
computer, further comprising in each client computer means for determining
whether the sequence number of a current videogram on the local area
network provided by a server computer which has granted the client
computer access to the video data in the first memory means thereof is
greater by one than the sequence number of the previous videogram provided
by such server computer and processed by the client computer, and for
providing a video refresh request to such server computer if the sequence
number of the current videogram is not greater by one than the sequence
number of the previous videogram. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
SPECIFICATION
A microfiche appendix containing 185 frames on 2 cards is included in the
specification and is hereinafter referred to as Appendix I.
BACKGROUND OF THE INVENTION
The present invention relates generally to the access and control of
programs executing in one or more computers by remote terminals or
computers, and more particularly to shared access and control of such
programs by the remote terminals or computers.
In many computer user environments, such as a securities firm trading
floor, it is necessary to provide at each operator location facilities to
access information from or communicate with a number of separate
information services (e.g. Quotron, Nasdaq, Reuters, Telerate). Formerly,
it was necessary to provide at each operator location a separate data
communications device for each information service to be accessed by the
operator. Each data communications device, which may be a hardwired
terminal or an appropriately programmed computer, has a keyboard, a
display and control logic for controlling the functions of the device,
including causing data received from the information service to be
presented on the display and, if necessary, providing data entered at the
keyboard to the information service. In this manner, the control logic of
each data communications device serves as a video source for the
information service with which the device is associated.
However, providing a separate data communications device at each operator
location for each information service to be accessed by the operator has
the problem in that the many such devices that are required occupy an
excessively large amount of space at each operator location, and a
separate set of communication lines from the information services to be
accessed by the operators must be routed to each operator location.
A known solution to the foregoing problems is to use a video switching
system to reduce the number of communication lines that are required from
the information services and to reduce the number of video sources that
are required to provide each operator with access to the information
services.
A simplified illustrative example of a video switching system is shown in
FIG. 1. Referring to FIG. 1, five operator locations 101-105 are each
provided with a keyboard 106 and two display devices 107-108 to permit
each operator to access as many as two of the three information services
109-111. The three information services 109-111 are respectively connected
through communications lines 112-114 to three computers 115-117, which
serve as the video sources for the information services. The video outputs
118-120 of the three video sources 115-117, respectively, are selectively
connected to the displays 107-108 of each operator station 101-105 through
a 3-by-10 switching matrix 121. Typically, each of the video outputs
118-120 of the video sources 115-117 provides a respective RS-170 video
signal. The switching matrix 121 is controlled by a request handler
computer 122, which receives input from each of the keyboards 106 at the
operator stations 101-105. An operator may use the keyboard at his or her
location to invoke a "dialog" mode with the request handler computer 122
in which the operator may use the keyboard to request the connection of a
particular video source to one of the displays at his or her location. The
operator may also use the keyboard to invoke a "passthrough" mode with the
request handler computer 122 in which the operator's keyboard entries are
provided to a particular video source for the purpose of either
controlling the video source or providing data to the information service
to which the particular video source is connected. The operator may use
the keyboard at his or her operator location to invoke the passthrough
mode of operation with the request handler computer 122 to allow
keystrokes from that keyboard to be provided to any one of the video
sources 115-117.
The passing of keystrokes from the keyboards 106 at the operator locations
101-105 to the video sources 115-117 by the request handler computer 122
operating in the passthrough mode is implemented through a bus 123 of the
request handler computer 122 to which the video sources 115-117 are
coupled through respective keyboard adapters 124-126. Each keyboard
adapter, which is connected between the bus 123 and the keyboard input of
the associated video source, serves to emulate the keyboard which is
normally used with the computer serving as the video source in the
illustrative example. Thus, each of the video sources 115-117 may be
accessed and controlled from any of the remote operator locations 101-105
through the request handler computer 122 without any modification of the
hardware or programs of the computer being used as the video source, other
than the removal of its keyboard and display which are not used.
Therefore, the access and control of the video sources 115-117 from the
operator locations 101-105 are said to be "transparent" to the video
source, since each video source receives keyboard inputs indistinguishable
from those it would have received from its own keyboard if one were
provided, and each video source provides a video output which is the same
video output it would have provided to its own display if one were
furnished.
Where the video source is a programmed computer, remote access and control
of the video sources by means of the video switching system is
accomplished without altering the program which is normally executed in
the computer.
Since a given video source can process input from only one of the operator
location keyboards at a time, the program of the request handler computer
122 provides for the arbitration among the operator locations seeking to
provide input to any given video source at the same time. Normally the
system is designed so that to a given operator entering input from the
keyboard at his or her operator location, access to a given video source
would appear to be contemporaneous with access to the same video source by
one or more other operators at their respective operator locations.
The video switching system, of which a simplified illustrative example is
shown in FIG. 1, provides for the remote access and control of multiple
video sources to be shared by an arbitrary number of operator locations of
the system. The access to and control of a particular video source through
the video switching system can be limited exclusively for a time to a
single operator location or can be shared among many operator locations
contemporaneously. In addition, the video switching system permits some
operator locations to view the video presentation provided by a shared
video source and other operator locations to view the video presentations
and control the shared video source in the manner described above.
Although the video switching system provides the advantages of reducing the
amount of equipment required at each operator location and the number of
communications lines which must be routed to each operator location, when
compared to providing a separate video source for each information service
to be accessed at each operator location, the video switching system has a
number of significant drawbacks which makes it disadvantageous for modern
computer user environments.
A video switching system is inherently costly because of the extensive
overhead equipment, such as the switching matrix 121 and the request
handler computer 122, which must be installed and continually maintained.
Further, there is a substantial wiring cost associated with the
installation of a video switching system in that each display at each
operator location must be connected by a separate line to a central
switching matrix. As system size grows, the video switching matrix must be
expanded quadratically with system size. For example, if the number of
operator positions and video sources are doubled, the size of the
switching matrix quadrupled.
In addition, the video switching systems, which typically use 75-ohm
coaxial cables to carry the video signal from a video source to the
displays at the operator locations through the switching matrix, do not
provide sufficient video bandwidth required by modern, high-resolution
color computer displays. Consequently, such modern displays cannot be used
in a video switching system without significant degradation in the quality
of the video presentation at the operator locations. This latter drawback
is becoming increasingly serious with the rising popularity of personal
computers with modern, high-resolution displays as the video source
specified or supplied by the information service providers. Moreover, the
video switching system, which has a large number of hardware components,
is subject to a relatively high rate of failures and is difficult to
service and maintain.
Local area networks (LANs) are known and are used to provide distributed
processing environments in which multiple computers attached to the LAN
can share resources, such as printers and disk drives, and exchange and
share data among computers which are part of the LAN or computers which
are external to the LAN but connected to the LAN through gateway devices.
Recently computers with large-screen displays or multiple-screen displays
have been developed to be attached to LANs. Such computers have the
capability of providing simultaneous multiple screen displays.
A computer on a LAN can access data in another computer on the LAN through
its keyboard, provided that the accessing computer and the computer being
accessed are each executing special programs designed for the purpose of
enabling such access. Owing to the need for such special programs and the
limited modes of data access provided thereby, the display of the
accessing computer cannot present the screen presentation of another
computer executing an arbitrary application program. As such,
"transparent" access by one computer on a LAN to an arbitrary application
program executing in another computer on the LAN is not available.
Similarly, given the need for such special programs, the accessing computer
cannot control through its keyboard an arbitrary application program
executing in another computer on the LAN. Accordingly, "transparent"
control of one computer on the LAN by another computer on the LAN is not
available.
Furthermore, shared access and control, where two or more computers on a
LAN each display the screen presentation of another computer on the LAN or
where two or more computers on a LAN each control through their respective
keyboards and displays an application program being executed in another
computer on the LAN are also not available.
A program called "NETmanager" is available from Brightwork | | |