Remotely operating computer software applications using low bandwidth
AssigneeInternational Business Machines Corporation
InventorsZiv Glazberg, Ishai Rabinovitz, Shmuel Ur
Life of this patent
Estimating the term…
Abstract
A system for remote operation of the computer software applications, the system including a remote application controller for associating a master control with both a master application and a master action associated with the master application, and a command receiver/implementer for associating a slave control with both a slave application and a slave action associated with the slave application, where the remote application controller commands the command receiver/implementer to perform the slave action in connection with the performing of the master action.
Claims19
A system for operation of computer software applications, the system operative in a computerized environment comprising at least a processor, the computerized environment comprising first computer, a second computer and a communication channel between the first computer and the second computer:
- wherein said first computer is adapted to:
- dynamically associate a master control with a master action of a master application, the master application being executed by the first computer, wherein said dynamically associating is based on a first modifiable configuration indicating to apply the master control to the master action;
- in response to a first input from the first user to the master control:
- the master control is configured to generate a second input and provide the second input to the master application, wherein the first modifiable configuration defines the second input, wherein the second input is specifically configured to operate the master action in the master application, whereby the first computer is operative to execute the master action;
- and
- the first computer is adapted to send a command to a slave control in the second computer over the communication channel;
- wherein said second computer is adapted to:
- dynamically associate the slave control with a slave action of a slave application, the slave application being executed by the second computer, wherein said dynamically associating is based on a second modifiable configuration indicating to apply the slave control to the slave action;
- activate the slave control in response to receiving the command in the second computer;
- wherein the slave control is configured to generate a third input and provide the third input to the slave application in response to the activation of the slave control, wherein the second modifiable configuration defines the third input, wherein the third input specifically configured to operate the slave action in the slave application, whereby the second computer is operative to execute the slave action;
- wherein said second computer is further adapted to:
- dynamically associate a second master control with a second master action of the slave application based on the second modifiable configuration;
- in response to receiving a fourth input, the second master control:
- generate a fifth input and provide the fifth input to the slave application, wherein the second modifiable configuration defines the fifth input, wherein the fifth input is specifically configured to operate the second master action in the slave application whereby the second computer is operative to perform the second master action;
- and
- the second computer is adapted to send a second command from the second computer to the first computer over the communication channel;
- wherein said first computer is further adapted to:
- dynamically associate a second slave control with a second slave action of the master application, based on the first modifiable configuration selected by the first user;
- in response to receiving the second command in the first computer, the second slave control is configured to generate a sixth input and providing the sixth input to the master application, wherein the first modifiable selection defines the sixth input, wherein the sixth input is specifically configured to operate the second slave action in the master application, whereby the first computer is operative to perform the second slave action;
- and
- whereby providing a user-configurable two-way interface between the master application and the slave application.
A method for operation of computer software applications in a computerized environment comprising a first computer, a second computer, and communication channel between the first computer and the second computer, the method comprising:
- dynamically associating a master control with a master action of a master application, the master application being executed by the first computer, wherein said dynamically associating is based on a first modifiable configuration indicating to apply the master control to the master action;
- in response to a first input from the first user to the master control:
- the master control generating a second input and providing the second input to the master application, wherein the first modifiable configuration defines the second input, wherein the second input is specifically configured to operate the master action in the master application, whereby the first computer is executing the master action;
- sending a command to a slave control in the second computer over the communication channel;
- dynamically associating the slave control with a slave action of a slave application, the slave application being executed by the second computer, wherein said dynamically associating is based on a second modifiable configuration indicating to apply the slave control to the slave action;
- in response to receiving the command in the second computer, activating the slave control;
- in response to the activation of the slave control, the slave control generating a third input and providing the third input to the slave application, wherein the second modifiable configuration defines the third input, wherein the third input specifically configured to operate the slave action in the slave application, whereby the second computer is executing the slave action:
- the second computer dynamically associating a second master control with a second master action of the slave application based on the second modifiable configuration;
- in response to receiving a fourth input, the second master control:
- generating a fifth input and providing the fifth input to the slave application, wherein the second modifiable configuration defines the fifth input, wherein the fifth input is specifically configured to operate the second master action in the slave application whereby the second computer performing the second master action;
- the second computer sending a second command from the second computer to the first computer over the communication channel;
- the first computer dynamically associating a second slave control with a second slave action of the master application, based on the first modifiable configuration selected by the first user;
- in response to receiving the second command in the first computer, the second slave control generating a sixth input and providing the sixth input to the master application, wherein the first modifiable selection defines the sixth input, wherein the sixth input is specifically configured to operate the second slave action in the master application, whereby the first computer performing the second slave action;
- and
- whereby providing a user-configurable two-way interface between the master application and the slave application.
A computer program product comprising:
- a non-transitory computer readable medium;
- a first program instruction operative to dynamically associate a master control with a master action of a master application;
- wherein the master application is operative to be executed by a first computer, wherein the dynamic association is based on a first modifiable configuration indicating to apply the master control to the master action;
- a second program instruction operative, in response to a first input from the first user to the master control to:
- generate a second input and provide the second input to the master application, wherein the first modifiable configuration defines the second input, wherein the second input is specifically configured to operate the master action in the master application;
- and
- to send a command to a slave control in a second computer, wherein the command is sent over a communication channel from the first computer to the second computer;
- a third program instruction operative to dynamically associate the slave control with a slave action of a slave application, wherein the dynamic association is based on a second modifiable configuration indicating to apply the slave control to the slave action, wherein the slave application is operative to be executed by the second computer;
- a fourth program instruction operative, in response to receiving the command by the slave control, to generate a third input and provide the third input to the slave application, wherein the second modifiable configuration defines the third input, wherein the third input specifically configured to operate the slave action in the slave application, whereby the second computer is operative to execute the slave action in response to receiving the command;
- a fifth program instruction operative to dynamically associate a second master control with a second master action of the slave application based on the second modifiable configuration;
- a sixth program instruction operative, in response to receiving a fourth input to:
- generate a fifth input and provide the fifth input to the slave application, wherein the second modifiable configuration defines the fifth input, wherein the fifth input is specifically configured to operate the second master action in the slave application whereby the second computer performing the second master action;
- and
- to cause the second computer to send a second command from the second computer to the first computer over the communication channel;
- a seventh program instruction operative to dynamically associate a second slave control with a second slave action of the master application, based on the first modifiable configuration selected by the first user;
- an eighth program instruction operative, in response to receiving the second command in the first computer, to cause the second slave control to generate a sixth input and to provide the sixth input to the master application, wherein the first modifiable selection defines the sixth input, wherein the sixth input is specifically configured to operate the second slave action in the master application, whereby the first computer performing the second slave action;
- wherein said first, second, third, fourth, fifth, sixth, seventh and eighth program instructions are stored on said non-transitory computer readable medium;
- and
- whereby said first, second, third, fourth, fifth, sixth, seventh and eighth program instructions provide a user-configurable two-way interface between the master application and the slave application.
Dependencies are inferred from the claim text.