Method and apparatus for interfacing a plurality of users to a plurality of applications on a common display device
First Claim
1. A method for operating a multi-user collaborative computer system, said computer system comprising:
- (a) a work station including a computer and having a single display, storage means for storing multiple applications including parent and child applications and data, each parent application being capable of having one or more child applications, each application having an application input queue for input events waiting to be processed by said application, each application being capable of spawning a process, means for executing one or more of the applications, means for presenting on the single display objects created by the applications, and a common system queue, each parent application when executing being capable of occupying a region of the display, a child application when executing occupying a sub-region of the region of the display occupied by its parent application,(b) a plurality of user-controlled input devices each connected to the workstation, each input device being under control of a user, each input device in cooperation with the computer being capable of generating input events that are targeted by the user at selected ones of said applications, said selected ones of said applications when targeted being the focus application of the input device, said input events when executed by the focus application being capable of generating new objects for presenting on the display or of modifying objects so as to change their size, orientation, or appearance on the display, said plurality of input devices being capable of generating simultaneous or sequential input events;
(c) means connected to the workstation for detecting when input events are generated and for passing the generated input events to the common system queue;
said method being implemented by the computer and comprising the steps;
(i) each user, operating an input device, operating the input device to establish the user'"'"'s ownership of that particular input device,(ii) said users operating their input devices to generate targeting input events targeted at certain of said applications, and detecting and passing said targeting input events to said system queue,(iii) when a targeting input event in the system queue is targeted at a first child application, waiting for the parent application of the targeted first child application to complete any current action and then halting all processing of events by the parent application before passing the targeting event to the input queue of the targeted first child application,(iv) thereafter placing the received targeting input event in the input queue of the first child application,(v) restarting the parent application of the targeted first child application after said targeting input event has been placed in the input queue of the targeted first child application,(vi) continuing to pass targeting input events to the targeted applications while the system queue contains any such events.
4 Assignments
0 Petitions
Accused Products
Abstract
A multi-user multi-device system enables a plurality of users to control a single screen. Each user has one or more input devices, which can be used to control one or more stored applications. At any time, the system produces a consistent view of all applications on the single screen. The input from each user produces a response customized to the preferences of that user. Each user can inform the system of which devices that user is using. Inputs to the system initiate the building of Event Records that are queued and then directed to specific applications. The screen is updated, and the coordinates of child applications are determined, only during pauses in the operations of all applications.
173 Citations
9 Claims
-
1. A method for operating a multi-user collaborative computer system, said computer system comprising:
-
(a) a work station including a computer and having a single display, storage means for storing multiple applications including parent and child applications and data, each parent application being capable of having one or more child applications, each application having an application input queue for input events waiting to be processed by said application, each application being capable of spawning a process, means for executing one or more of the applications, means for presenting on the single display objects created by the applications, and a common system queue, each parent application when executing being capable of occupying a region of the display, a child application when executing occupying a sub-region of the region of the display occupied by its parent application, (b) a plurality of user-controlled input devices each connected to the workstation, each input device being under control of a user, each input device in cooperation with the computer being capable of generating input events that are targeted by the user at selected ones of said applications, said selected ones of said applications when targeted being the focus application of the input device, said input events when executed by the focus application being capable of generating new objects for presenting on the display or of modifying objects so as to change their size, orientation, or appearance on the display, said plurality of input devices being capable of generating simultaneous or sequential input events; (c) means connected to the workstation for detecting when input events are generated and for passing the generated input events to the common system queue; said method being implemented by the computer and comprising the steps; (i) each user, operating an input device, operating the input device to establish the user'"'"'s ownership of that particular input device, (ii) said users operating their input devices to generate targeting input events targeted at certain of said applications, and detecting and passing said targeting input events to said system queue, (iii) when a targeting input event in the system queue is targeted at a first child application, waiting for the parent application of the targeted first child application to complete any current action and then halting all processing of events by the parent application before passing the targeting event to the input queue of the targeted first child application, (iv) thereafter placing the received targeting input event in the input queue of the first child application, (v) restarting the parent application of the targeted first child application after said targeting input event has been placed in the input queue of the targeted first child application, (vi) continuing to pass targeting input events to the targeted applications while the system queue contains any such events. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
Specification