Method and system for sharing negotiating capabilities when sharing an application with multiple systems
First Claim
1. A method for negotiating capabilities in an application sharing conference, the conference having a plurality of computer systems, each computer system having capabilities with capability values, the method comprising:
- for each computer system, advertising the capability values of the computer system to each other computer system;
when a capability is designated as being negotiated according to a one capability rule, setting the capability value for the capability to the advertised capability value of a specified computer system;
when a capability is designated as being negotiated according to a max capability rule, determining candidate capability values from the advertised capability values; and
setting the capability value for the capability to the maximum of all the determined candidate capability values; and
when a capability is designated as being negotiated according to a min capability rule, determining candidate capability values from the advertised capability values; and
setting the capability value for the capability to the minimum of all the determined candidate capability values wherein each computer system sets the negotiated capability values to the same set of values.
4 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.
-
Citations
39 Claims
-
1. A method for negotiating capabilities in an application sharing conference, the conference having a plurality of computer systems, each computer system having capabilities with capability values, the method comprising:
-
for each computer system, advertising the capability values of the computer system to each other computer system;
when a capability is designated as being negotiated according to a one capability rule, setting the capability value for the capability to the advertised capability value of a specified computer system;
when a capability is designated as being negotiated according to a max capability rule, determining candidate capability values from the advertised capability values; and
setting the capability value for the capability to the maximum of all the determined candidate capability values; and
when a capability is designated as being negotiated according to a min capability rule, determining candidate capability values from the advertised capability values; and
setting the capability value for the capability to the minimum of all the determined candidate capability values wherein each computer system sets the negotiated capability values to the same set of values. - View Dependent Claims (2)
-
-
3. A method for sharing a computer program with a plurality of computer systems connected through a network, each of the computer systems sharing the computer program having capabilities for processing data, each of the capabilities having an identification, each of the computer systems having the identifications of the capabilities of each of the other computer systems, the method comprising the computer-implemented steps of:
-
for each of the computer systems currently sharing the computer program, receiving the identifications of the capabilities for a new computer system that is to share the computer program; and
upon receiving the identifications of the capabilities, using a predefined algorithm to determine sharing capabilities for use in sharing the computer program based on the identifications of the capabilities for each of the other computer systems and the received identifications of the capabilities of the new computer system. - View Dependent Claims (4)
when hosting the computer program, transmitting data on the network from that computer system to the other computer systems in accordance with the newly determined sharing capabilities; and
when receiving the transmitted data, processing the transmitted data at that computer system in accordance with the newly determined sharing capabilities.
-
-
5. A method for sharing a computer program with a plurality of computer systems connected through a network, each of the computer systems having capabilities for processing data, each of the capabilities having an identification, each of the computer systems having the identifications of the capabilities of each of the other computer systems, the method comprising the computer-implemented steps of:
-
connecting a new computer system to the network to share the computer program;
under the control of the connected new computer system, broadcasting the identifications of the capabilities of the connected new computer system to each of the computer systems currently in the network; and
receiving the identifications of the capabilities of each of the computer systems currently in the network;
under the control of each of the computer systems other than the connected new computer system, receiving the sent identifications of the capabilities of the connected new computer system; and
under the control of each of the computer systems in the network, determining sharing capabilities for use in sharing the computer program based on the identifications of the capabilities of each of the computer systems;
at the computer system that is hosting the computer program, transmitting data on the network to the other computer systems in accordance with the newly determined sharing capabilities; and
at each of the computer systems that receives the transmitted data, processing the transmitted data in accordance with the newly determined sharing capabilities.
-
-
6. A method for sharing a computer program with a plurality of computer systems connected through a network, one of the computer systems hosting the computer program, each of the computer systems having capabilities for processing data, each of the capabilities having an identification, each of the computer systems having the identifications of the capabilities of each of the other computer systems, each of the computer systems having sharing capabilities for use in sharing the computer program, the method comprising the computer-implemented steps of:
-
at each of the computer systems, receiving an indication that there is a change in the plurality of computer systems connected through the network;
determining the sharing capabilities based on the identifications of capabilities of each of the computer systems connected through the network;
at the computer system hosting the computer program, transmitting a synchronization message to each of the other computer systems; and
at each of the other computer systems which received the synchronization message from the computer system hosting the computer program, indicating that all subsequent data received from that computer system is to be processed based on the recalculated sharing capabilities; and
resetting internal data that is dependent on the sharing capabilities. - View Dependent Claims (7, 8)
-
-
9. A computer-readable medium containing instructions for causing a computer system to negotiate capabilities in a application sharing conference, the conference having a plurality of computer systems, each computer system having capabilities with capability values, by:
-
for each computer system, advertising the capability values of the computer system to each other computer system;
when a capability is designated as being negotiated according to a one capability rule, setting the capability value for the capability to the advertised capability value of a specified computer system;
when a capability is designated as being negotiated according to a max capability rule, determining candidate capability values from the advertised capability values; and
setting the capability value for the capability to the maximum of all the determined candidate capability values; and
when a capability is designated as being negotiated according to a min capability rule, determining candidate capability values from the advertised capability values; and
setting the capability value for the capability to the minimum of all the determined candidate capability values wherein each computer system sets the negotiated capability values to the same set of values. - View Dependent Claims (10)
-
-
11. A method for sharing a computer program with a plurality of computer systems connected through a network, each of the computer systems having capabilities for processing data, each of the computer systems having an indication of the capabilities of the plurality of computer systems, the method comprising:
-
receiving an indication of the capabilities of a new computer system that is to share the computer program; and
upon receiving the indication of the capabilities of the new computer system, determining the sharing capabilities for use in sharing the computer program in accordance with the same algorithm that is used by the other computer systems based on the indicated capabilities for each of the computer systems and the received indication of the capabilities of the new computer system so that each computer system determines the same sharing capabilities. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for sharing a computer program with a plurality of computer systems connected through a network, each of the computer systems having capabilities for processing data, each of the computer systems having an indication of the capabilities of the plurality of computer systems, the method comprising:
-
receiving an indication of a change in the computer systems that are sharing the computer program; and
upon receiving the indication of the change in the computer systems that are sharing the computer program, determining the sharing capabilities for use in sharing the computer program in accordance with the same algorithm that is used by the other computer systems based on the indicated capabilities for each of the computer systems that are sharing the application after the change so that each computer system determines the same sharing capabilities. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer-readable medium for sharing a computer program with a plurality of computer systems connected through a network, each of the computer systems having capabilities for processing data, each of the computer systems having an indication of the capabilities of the plurality of computer systems, by:
-
receiving an indication of a change in the computer systems that are sharing the computer program; and
upon receiving the indication of the change in the computer systems that are sharing the computer program, determining the sharing capabilities for use in sharing the computer program in accordance with the same algorithm that is used by the other computer systems based on the indicated capabilities for each of the computer systems that are sharing the application after the change. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification