Method and system for sharing applications between computer systems
AssigneeMicrosoft Corporation
InventorsChristopher J. Mairs, Anthony M. Downes, Roderick F. MacFarquhar, Kenneth P. Hughes, Alex J. Pollitt, John P. Batty
Life of this patent
Estimating the term…
Abstract
Methods and systems for sharing applications among computer systems are disclosed. A shared application runs on a host computer and its output is displayed both on the host computer and on shadow computers. Users of the host and shadow computers coordinate who is momentarily in control of the shared application. Input from a user not in control is discarded while input from a user in control is sent to the shared application.
Claims35
A method in a computer system for establishing input control of a shared application executing on a host computer system, the shared application having output that is displayed on a host display of the host computer system, where the shared application is distinct from a sharing system that displays the shared application's output on shadow displays of one or more shadow computer systems, input control indicating whether the shared application is to receive input exclusively from the host computer system or exclusively from one of the shadow computer systems, the method comprising the computer-implemented steps of:
- when the input control is with the host computer system, under control of a shadow computer, detecting that a user of the shadow computer system is requesting that the shadow computer system be given input control;
- and
- sending a request to the host computer system that input control be changed to the requesting shadow computer system;
- under control of the host computer system, receiving the sent request that input control be changed to the requesting shadow computer system;
- and
- changing input control to the requesting shadow computer system so that input generated by the user of the requesting shadow computer system is sent to the shared application, input generated by users of other shadow computer systems is not sent to the shared application, and input generated by a user of the host computer system is not sent to the shared application.
A method for detaching a computer system from input control of a shared application executing on a host computer system, the shared application having output data that are displayed on the host computer system, where the shared application is distinct from a sharing system that displays the shared application's output data on one or more shadow computer systems, the method comprising the steps of:
- receiving an indication from a user at the host computer system to detach from input control of the shared application;
- and
- after receiving the indication, upon receiving changes to the output data from the shared application, updating the displayed output data on both the host and the shadow computer systems;
- upon receiving input directed by the user of the host computer system, sending the input to the shared application;
- and
- upon receiving input directed by a user of a shadow computer system, discarding the received input without sending it to the shared application.
A method of displaying shadow windows of a shared application at a shadow computer system, the method comprising:
- receiving an indication to register a shadow window;
- requesting a windowing system of the shadow computer system to register the shadow window;
- if data to be displayed in a registered window have not yet been received because a portion of a host window corresponding to the shadow window is not displayed on a computer system hosting the shared application, displaying an indication that data have not yet been received;
- receiving data to be displayed within the shadow window;
- and
- requesting the windowing system of the shadow computer system to display received data
- whereby the shadow window can independently be controlled by a user using the windowing system.
A computer-readable medium containing instructions for causing a computer system to display a shadow window of a shared application at a shadow computer system, the shared application being executed on a host computer system, by:
- receiving from the host computer system an indication to register a shadow window;
- requesting a windowing system of the shadow computer system to register the shadow window;
- if data to be displayed in a registered window have not yet been received because a portion of a host window corresponding to the shadow window is not displayed on the host computer system, displaying an indication that data have not yet been received;
- receiving from the host computer system data to be displayed within the shadow window;
- and
- requesting the windowing system of the shadow computer system to display the received data
- whereby the shadow window can independently be controlled by a user using the windowing system.
A method in a computer system for arbitrating input control of a shared application between a host computer system and a shadow computer system, the host computer system executing the shared application and displaying output from the shared application on a host window, where the shared application is distinct from a sharing system that displays the shared application's output on a shadow window of the shadow computer system, the method comprising:
- when a user of the host computer system indicates that he wants to take input control, granting input control to the host computer system;
- and
- when a user of the shadow computer system indicates that he wants to take input control, sending a request to take input control from the shadow computer system to the host computer system;
- in response to receiving the sent request, determining at the host computer system whether the shadow computer system should take input control;
- and
- sending a notification of that determination to the shadow computer system.
A method in a computer system for controlling access to shared applications, where the shared applications are distinct from a sharing system that displays the output of a shared application hosted on one computer system on a shadow window of another computer system, the computer system hosting a shared application and displaying a shadow window of a shared application hosted on another computer system, the method comprising:
- receiving an indication from a user of the computer system to enter a detached mode;
- and
- in response to receiving the indication, entering detached mode whereby the computer system cannot take input control of the shared application hosted on the other computer system and a user of the other computer system may not take input control of the shared application hosted by the computer system.
A computer-readable medium containing instructions for causing a computer system to arbitrate input control of a shared application between a host computer system and a shadow computer system, the host computer system executing the shared application and displaying a host window, where the shared application is distinct from a sharing system that displays the shared application's output on a shadow window of the shadow computer system, the instructions causing the computer system to arbitrate input control by:
- when a user of the host computer system indicates that he wants to take input control, granting input control to the host computer system;
- and
- when a user of the shadow computer system indicates that he wants to take input control, granting control to the shadow computer system only after the host computer system has approved the grant of control.
A computer-readable medium for controlling a computer system's access to shared applications, where the shared applications are distinct from a sharing system that displays the output of a shared application hosted on one computer system on a shadow window of another computer system, the computer system hosting a shared application and displaying a shadow window of a shared application hosted on another computer system, by entering detached mode wherein a user of the computer system cannot take input control of the shared application hosted on the other computer system and a user of the other computer system may not take input control of the shared application hosted by the computer system.
Dependencies are inferred from the claim text.