Method and system for negotiating capabilities when sharing an application program with multiple computer systems
First Claim
1. A method for coordinating the exchange of data of computer systems that are sharing an application, each computer system having a local share identifier, the method comprising:
- when a computer system is inactive in the sharing of the application, setting the local share identifier to invalid;
when a computer system is to become active in the sharing of the application,generating a share identifier for the computer system;
setting the local share identifier to the generated share identifier; and
sending the generated share identifier along with a demand to become active;
when a computer system receives a demand to become active,when the local share identifier is invalid, setting the local share identifier to the share identifier received with the demand to become active; and
when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the demand to become active;
when a computer system is to confirm a demand to become active, sending the local share identifier along with a confirmation to become active;
when a computer system receives a confirmation to become active,when the local share identifier is invalid, setting the local share identifier to the share identifier received with the confirmation to become active; and
when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the confirmation to become active;
when a computer system sends data to another computer system, sending the local share identifier along with the data; and
when a computer system receives data sent from another computer system, disregarding the data when the local share identifier does not match the share identifier that is sent with the data.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and system for sharing application programs between multiple computer systems. In one embodiment, the present invention comprises a multipoint application sharing (MAS) system that resides at each computer system (i.e., node) in a network of computer systems. The MAS system at each computer system communicates with each MAS system at each other computer system by sending messages over the network. The MAS system enables a user at each computer system to share one or more application programs with each user at each other computer system. To share an application program, a user at a host computer system invokes the application program. Then, the user requests the MAS system to share the invoked application program with users at other computer systems. Each computer that is sharing the application, can view the output of the application and can, under certain circumstances, take control of the application so that it can send remote keyboard and pointing device information to the application.
130 Citations
23 Claims
-
1. A method for coordinating the exchange of data of computer systems that are sharing an application, each computer system having a local share identifier, the method comprising:
-
when a computer system is inactive in the sharing of the application, setting the local share identifier to invalid; when a computer system is to become active in the sharing of the application, generating a share identifier for the computer system; setting the local share identifier to the generated share identifier; and sending the generated share identifier along with a demand to become active; when a computer system receives a demand to become active, when the local share identifier is invalid, setting the local share identifier to the share identifier received with the demand to become active; and when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the demand to become active; when a computer system is to confirm a demand to become active, sending the local share identifier along with a confirmation to become active; when a computer system receives a confirmation to become active, when the local share identifier is invalid, setting the local share identifier to the share identifier received with the confirmation to become active; and when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the confirmation to become active; when a computer system sends data to another computer system, sending the local share identifier along with the data; and when a computer system receives data sent from another computer system, disregarding the data when the local share identifier does not match the share identifier that is sent with the data. - View Dependent Claims (2, 3)
-
-
4. A method for coordinating activation of computer systems in the sharing of an application program, the method comprising:
-
when a computer system is to become active, sending a demand to become active to each other computer system; and when a computer system receives a demand to become active, when the computer system is active, sending a confirmation to become active to each other computer system; and when the computer system is not active, determining whether the computer system is to become active; and when the computer system has determined to become active, sending a confirmation to become active to each other computer system. - View Dependent Claims (5, 6, 7)
-
-
8. A method for coordinating control of input to an application shared by a plurality of computer systems, the method comprising:
-
selecting one of the computer systems as having control of the input and providing to each computer system a control identifier indicating that the selected computer system is in control; when a computer system wishes to take control, sending a request for control along with the identification of the requesting computer system to all computer systems; when the computer system that is currently in control receives the request for control, sending a grant of control along with the identification of the requesting computer system and the control identifier to all computer systems; when a computer system that is not currently in control receives the request for control, discarding the request; and when a computer system receives the grant of control, recording that the identification of the requesting computer system and the control identifier. - View Dependent Claims (9, 10)
-
-
11. A method for coordinating the exchange of data of a plurality of computer systems that are sharing a computer program, the method comprising:
-
when a computer system is to become active, generating a local share identifier based on a previous share identifier; sending the local share identifier to the other computer systems; receiving a share identifier from another computer system; and setting the local share identifier to the greater of the generated local share identifier and the received share identifier; receiving data from another computer system, the data including a share identifier; and when the local share identifier does not match a share identifier received with the data, disregarding the received data so that a unique share identifier is generated for unique sets of active computer systems and so that when multiple computer systems become active, synchronization problems are avoided. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable medium for coordinating the exchange of data of a plurality of computer systems that are sharing a computer program, by:
for each computer system, when the computer system is to become active, generating a local share identifier; sending the local share identifier to the other computer systems; receiving a share identifier from another computer system; and setting the local share identifier to the greater of the generated local share identifier and the received share identifier; receiving data from another computer system, the data including a share identifier; and when the local share identifier does not match a share identifier received with the data, disregarding the received data. - View Dependent Claims (19, 20, 21, 22, 23)
Specification