Method and apparatus for supporting real-time collaboration
First Claim
1. A method for supporting real time collaboration between a first collaborating computer, having a user interface and containing a first local data copy in a first local address space in a memory of the first collaborating computer and connected by a network to a second collaborating computer having a second user interface and containing a second local data copy in a second local address space in a memory of the second collaborating computer, the method comprising:
- (a) generating in the first local memory address space in the first collaborating computer, an address space independent selection of the first local data copy, which selection does not directly point at data in the first local data copy;
(b) generating with the user interface, an address space independent command that modifies the selection generated in step (a);
(c) sending the selection and command from the first collaborating computer over the network to the second collaborating computer;
(d) using the selection in the second local memory address space to find and select a data portion from the second local data copy;
(e) applying the command in the second local memory address space to the data portion selected in step (d);
(f) generating in the second local memory address space in the second collaborating computer, a second address space independent selection of the second local data copy, which selection does not directly point at data in the second local data copy;
(g) generating with the second user interface, a second address space independent command that modifies the selection generated in step (f);
(h) sending the second selection and second command from the second collaborating computer over the network to the first collaborating computer;
(i) using the second selection in the first local memory address space to find and select a data portion from the first local data copy; and
(j) applying the second command in the first local memory address space to the data portion selected in step (i).
1 Assignment
0 Petitions
Accused Products
Abstract
A collaboration system synchronizes an application or applications running on one or more computer systems. Each of the applications has a local data copy and the applications commence operation by creating consistent local copies from a common third copy. The consistency is maintained by distributing address space independent selections and commands to each application as they are entered at a controlling system. The selections and commands are generated by directly manipulating a presentation of each local data copy. When a selection and command arrive at a destination, the selection is used to find and selection the data and the command is applied to the data located by the selection.
-
Citations
28 Claims
-
1. A method for supporting real time collaboration between a first collaborating computer, having a user interface and containing a first local data copy in a first local address space in a memory of the first collaborating computer and connected by a network to a second collaborating computer having a second user interface and containing a second local data copy in a second local address space in a memory of the second collaborating computer, the method comprising:
-
(a) generating in the first local memory address space in the first collaborating computer, an address space independent selection of the first local data copy, which selection does not directly point at data in the first local data copy; (b) generating with the user interface, an address space independent command that modifies the selection generated in step (a); (c) sending the selection and command from the first collaborating computer over the network to the second collaborating computer; (d) using the selection in the second local memory address space to find and select a data portion from the second local data copy; (e) applying the command in the second local memory address space to the data portion selected in step (d); (f) generating in the second local memory address space in the second collaborating computer, a second address space independent selection of the second local data copy, which selection does not directly point at data in the second local data copy; (g) generating with the second user interface, a second address space independent command that modifies the selection generated in step (f); (h) sending the second selection and second command from the second collaborating computer over the network to the first collaborating computer; (i) using the second selection in the first local memory address space to find and select a data portion from the first local data copy; and (j) applying the second command in the first local memory address space to the data portion selected in step (i). - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. Apparatus for supporting real time collaboration between a first collaborating computer, having a user interface and containing a first local data copy in a first local address space in a memory of the first collaborating computer and connected by a network to a second collaborating computer having a second user interface and containing a second local data copy in a second local address space in a memory of the second collaborating computer, the apparatus comprising:
-
a first selection mechanism that generates in the first local memory address space in the first collaborating computer, an address space independent selection of the first local data copy, which selection does not directly point at data in the first local data copy; a first command mechanism that generates with the user interface, an address space independent command that modifies the selection generated by the selection mechanism; a first transport mechanism that sends the selection and command from the first collaborating computer over the network to the second collaborating computer; a first editing mechanism that uses the selection in the second local memory address space to find and select a data portion from the second local data copy; a first data change mechanism that applies the command in the second local memory address space to the data portion selected by the editing mechanism; a second selection mechanism that generates in the second local memory address space in the second collaborating computer, a second address space independent selection of the second local data copy, which selection does not directly point at data in the second local data copy; a second command mechanism that generates with the user interface, a second address space independent command that modifies the second selection generated by the second selection mechanism; a second transport mechanism that sends the second selection and second command from the second collaborating computer over the network to the first collaborating computer; a second editing mechanism that uses the second selection in the first local memory address space to find and select a data portion from the first local data copy; and a second data change mechanism that applies the second command in the first local memory address space to the data portion selected by the second editing mechanism. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for supporting real time collaboration between a first collaborating computer, having a user interface and containing a first local data copy in a memory of the first collaborating computer and connected by a network to a second collaborating computer having a second user interface and containing a second local data copy, in a memory of the second collaborating computer the method comprising:
-
(a) generating in the first collaborating computer, a platform independent selection of the first local data copy residing in the memory of the first collaborating computer, which selection does not directly point at data in the first local data copy; (b) generating with the user interface, a platform independent command that modifies the selection generated in step (a); (c) sending the selection and command from the first collaborating computer over the network to the second collaborating computer; (d) using the selection in the second collaborating computer to find and select a data portion from the second local data copy residing in the memory of the second collaborating computer; (e) applying the command to the data portion selected in step (d); (f) generating in the second collaborating computer, a second platform independent selection of the second local data copy residing in the memory of the second collaborating computer, which selection does not directly point at data in the second local data copy; (g) generating with the second user interface, a second platform independent command that modifies the selection generated in step (f); (h) sending the second selection and second command from the second collaborating computer over the network to the first collaborating computer; (i) using the second selection in the first collaborating computer to find and select a data portion from the first local data copy residing in the memory of the first collaborating computer; and (j) applying the second command to the data portion selected in step (i). - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. Apparatus for supporting real time collaboration between a first collaborating computer, having a user interface and containing a first local data copy in a memory of the first collaborating computer and connected by a network to a second collaborating computer having a user interface and containing a second local data copy, in a memory of the second collaborating computer, the apparatus comprising:
-
a first selection mechanism that generates in the first collaborating computer, a platform independent selection of the first local data copy residing in the memory of the first collaborating computer, which selection does not directly point at data in the first local data copy; a first command mechanism that generates with the user interface, a platform independent command that modifies the selection generated by the selection mechanism; a first transport mechanism that sends the selection and command from the first collaborating computer over the network to the second collaborating computer; a first editing mechanism that uses the selection in the second collaborating computer to find and select a data portion from the second local data copy residing in a memory of the second collaborating computer; a first data change mechanism that applies the command to the data portion selected by the editing mechanism; a second selection mechanism that generates in the second collaborating computer, a platform independent selection of the second local data copy residing in the memory of the second collaborating computer, which selection does not directly point at data in the second local data copy; a second command mechanism that generates with the second user interface, a second platform independent command that modifies the selection generated by the second selection mechanism; a first transport mechanism that sends the second selection and second command from the second collaborating computer over the network to the first collaborating computer; a second editing mechanism that uses the second selection in the first collaborating computer to find and select a data portion from the first local data copy residing in a memory of the first collaborating computer; and a second data change mechanism that applies the second command to the data portion selected by the second editing mechanism. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification