Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
First Claim
1. A method for using a plurality of computers for collaborative computing, the computers being connected in a network, and each computer having a processor, a memory, a display, means for inputting data, a network server program, and means for transmitting and receiving data to and from the computers in the network, comprising the steps of:
- transmitting data from a selected computer in the network to first and second server programs in first and second computers indicative of the start of a collaborative computing session;
loading a client application program into the memory of the selected computer in the network;
displaying on the first and second computers'"'"' displays a first set of output data from the client application program by transmitting the output data to the first and second server programs;
reading user input data from the second server program along with identifying data into the memory of the selected computer;
modifying the identifying data from the second server program in the memory of the selected computer to identify the data as coming from a pseudo-server program;
sending the user input data and the modified identifying data from the preceding step to the client application program as application input data;
displaying on the first and second computers'"'"' displays a second set of output data from the client application program by transmitting the second set of output data to the first and second server programs;
reading user input data from the first server program along with identifying data into the memory of the selected computer;
modifying the identifying data from the first server program that is in the memory of the selected computer to identify the data as coming from the pseudo-server program;
sending the user input data and the modified identifying data from the preceding step to the client application program as application input data; and
displaying on the first and second computers'"'"' displays a third set of output data from the client application program by transmitting the third set of output data to the first and second server programs;
storing mapping data in the memory of the selected computer in the network, the mapping data indicative of the sequence of user data received from each of the first and second server programs;
receiving output data from the client application program including a sequence number field, the output data received at the selected computer in the network;
modifying the sequence number field to correspond to a sequence number one higher than the highest sequence number in the mapping data for the first server program;
transmitting the output data containing the modified sequence number to the first server program;
modifying the sequence number field to correspond to a sequence number one higher than the highest sequence number in the mapping data for the second server program; and
transmitting the output data containing the modified sequence number to the second server program;
whereby, first and second computers using server programs provide input to a client application program and display the output from the client application program in a collaboration session.
1 Assignment
0 Petitions
Accused Products
Abstract
A collaborative computing method and system are described. Output data from and input data for an application program are shared among all of the computers connected in a network using the X protocol. The output from the application program is intercepted and then replicated on each of the computers'"'"' displays. Input data for the application program can be read from any of the computers participating in the session. The identifying data associated with the output and input is modified so that each computer can operate as if it were the only computer controlling the application. The session is controlled by displaying on each computer'"'"'s display a control window which allows the users to invoke a shared application and to use tools such a pointer, marker, to manage a collaboration session. Each user has equal collaborative capabilities in a session. This collaborative method provides a symmetric sharing among all users. A scratch pad window may be created on each computer'"'"'s display. User data entered in a scratch pad window is normally replicated automatically on each of the other computers'"'"' displays, but a private mode is an alternative. Data entered by each computer in the scratch pad may be displayed with visual characteristics such as color which are unique to the computer on which the data was first entered.
-
Citations
15 Claims
-
1. A method for using a plurality of computers for collaborative computing, the computers being connected in a network, and each computer having a processor, a memory, a display, means for inputting data, a network server program, and means for transmitting and receiving data to and from the computers in the network, comprising the steps of:
-
transmitting data from a selected computer in the network to first and second server programs in first and second computers indicative of the start of a collaborative computing session; loading a client application program into the memory of the selected computer in the network; displaying on the first and second computers'"'"' displays a first set of output data from the client application program by transmitting the output data to the first and second server programs; reading user input data from the second server program along with identifying data into the memory of the selected computer; modifying the identifying data from the second server program in the memory of the selected computer to identify the data as coming from a pseudo-server program; sending the user input data and the modified identifying data from the preceding step to the client application program as application input data; displaying on the first and second computers'"'"' displays a second set of output data from the client application program by transmitting the second set of output data to the first and second server programs; reading user input data from the first server program along with identifying data into the memory of the selected computer; modifying the identifying data from the first server program that is in the memory of the selected computer to identify the data as coming from the pseudo-server program; sending the user input data and the modified identifying data from the preceding step to the client application program as application input data; and displaying on the first and second computers'"'"' displays a third set of output data from the client application program by transmitting the third set of output data to the first and second server programs;
storing mapping data in the memory of the selected computer in the network, the mapping data indicative of the sequence of user data received from each of the first and second server programs;receiving output data from the client application program including a sequence number field, the output data received at the selected computer in the network; modifying the sequence number field to correspond to a sequence number one higher than the highest sequence number in the mapping data for the first server program; transmitting the output data containing the modified sequence number to the first server program; modifying the sequence number field to correspond to a sequence number one higher than the highest sequence number in the mapping data for the second server program; and transmitting the output data containing the modified sequence number to the second server program; whereby, first and second computers using server programs provide input to a client application program and display the output from the client application program in a collaboration session. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for using a plurality of computers for collaborative computing, the computers being connected in a network, and each computer having a processor, a memory, a display, means for inputting data, means for transmitting and receiving data to and from the computers in the network and a network server program, comprising the steps of:
-
transmitting data from a first server program to a second server program in first and second computers indicative of a collaborative computing session starting; loading a client application program into the memory of the first computer; displaying on the first and second computers'"'"' displays a first set of output data from the client application program by transmitting the output data to the first and second server programs; reading user input data from the second server program along with identifying data into the memory of the first computer; modifying the identifying data from the second server program in the memory of the first computer to identify the data as coming from a pseudo-server program; sending the user input data from the second server program and the modified identifying data from the preceding step to the client application program as application input data; displaying on the first and second computers'"'"' displays a second set of output data from the client application program by transmitting the second set of output data to the first and second server programs; reading user input data from the first server program along with identifying data into the memory of the first computer; modifying the identifying data from the first server program that is in the memory of the first computer to identify the data as coming from the pseudo-server program; sending the user input data from the first server program and the modified identifying data from the preceding step to the client application program as application input data; and displaying on the first and second computers'"'"' displays a third set of output data from the client application program by transmitting the third set of output data to the first and second server programs storing mapping data in the memory of the first computer, the mapping data indicative of the sequence of user data received from each of the first and second server programs; receiving output data from the client application program including a sequence number field, the output data received in the memory of the first computer; modifying the sequence number field in the memory of he first computer to correspond to a sequence number one higher than the highest sequence number in the mapping data for the first server program; transmitting the output data containing the modified sequence number to the first server program; modifying the sequence number field in the memory of the first computer to correspond to a sequence number one higher than the highest sequence number in the mapping data for the second server program; and transmitting the output data containing the modified sequence number to the second server program; whereby, first and second computers using server[s]programs provide input to a client application program and display the output from the client application program in a collaboration session. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification