METHOD ENABLING COLLABORATIVE EDITING OF OBJECT IN CONTENT DATA, COMPUTER SYSTEM, AND COMPUTER PROGRAM PRODUCT
First Claim
1. A method for a server to enable an object in content data to be edited collaboratively, the method comprising:
- receiving information identifying a designated object from a first client in response to a designation of an object made by a first user as an object that a second user is not allowed to edit;
receiving change instruction data from a second client and storing the received change instruction data in a storage of the server, the change instruction data indicating an instruction to change the designated object by the second user;
generating branch data of the designated object in response to reception of the change instruction data from the second client;
receiving change instruction data indicating an instruction to change the designated object by the first user from the first client;
storing the received change instruction data in the storage;
updating the branch data by reflecting an operation according to the change instruction data received from the first client;
judging, by using operational transformation, whether it is possible to merge a first sequence of operations according to the change instruction data received from the first client, with a second sequence of operations according to the change instruction data received from the second client; and
applying the first operation sequence to the content data of the second user by using operational transformation if the merging is possible,wherein at least one of the steps is carried out by a computer device.
1 Assignment
0 Petitions
Accused Products
Abstract
A program product and a method with which a server computer enables an object in content data to be edited collaboratively. The server computer is connectable through a network to a first client computer associated with a first user and a second client computer associated with a second user. In addition, the present invention provides a method that enables an object in content data to be edited collaboratively by a first client computer associated with a first user and a second client computer associated with a second user. The present invention provides a system and a program product as well.
50 Citations
20 Claims
-
1. A method for a server to enable an object in content data to be edited collaboratively, the method comprising:
-
receiving information identifying a designated object from a first client in response to a designation of an object made by a first user as an object that a second user is not allowed to edit; receiving change instruction data from a second client and storing the received change instruction data in a storage of the server, the change instruction data indicating an instruction to change the designated object by the second user; generating branch data of the designated object in response to reception of the change instruction data from the second client; receiving change instruction data indicating an instruction to change the designated object by the first user from the first client; storing the received change instruction data in the storage; updating the branch data by reflecting an operation according to the change instruction data received from the first client; judging, by using operational transformation, whether it is possible to merge a first sequence of operations according to the change instruction data received from the first client, with a second sequence of operations according to the change instruction data received from the second client; and applying the first operation sequence to the content data of the second user by using operational transformation if the merging is possible, wherein at least one of the steps is carried out by a computer device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 20)
-
-
8. A method for enabling an object in content data to be edited collaboratively by a first client associated with a first user and a second client associated with a second user, the first client including a first storage that stores change instruction data indicating an instruction to change the object by the first user, the second client including a second storage that stores change instruction data indicating an instruction to change the object by the second user, the method comprising:
-
receiving information identifying the designated object from the first client in response to a designation of an object made by the first user as an object that the second user is not allowed to edit; storing change instruction data in the second storage after receiving the information identifying the designated object, the change instruction data indicating an instruction to change the designated object by the second user; transmitting the change instruction data from the second client to the first client; generating, by the first client, branch data of the designated object in the first storage in response to initial reception of the change instruction data from the second client; storing change instruction data indicating an instruction to change the designated object by the first user in the first storage; updating the branch data by reflecting an operation according to the change instruction data received from the first client; judging whether it is possible to merge a first operation sequence according to the change instruction data received from the first client, with a second operation sequence according to the change instruction data received from the second client by using operational transformation; if the merging is possible, transmitting the first operation sequence to the second client; and applying, by the second client, the first operation sequence to the content data of the second user by using operational transformation in response to reception of the first operation sequence. - View Dependent Claims (9, 12, 13)
-
-
10. A method for enabling an object in content data to be edited collaboratively by a first client associated with a first user and a second client associated with a second user, the first client including a first storage that stores change instruction data indicating an instruction to change the object by the first user, the second client including a second storage that stores change instruction data indicating an instruction to change the object by the second user, the method comprising:
-
receiving information identifying the designated object from the first client in response to a designation of an object made by the first user as an object that the second user is not allowed to edit; storing change instruction data in the second storage, indicating an instruction to change the designated object by the second user; generating branch data of the designated object in the second storage in response to initial generation of an instruction to change the designated object by the second user; updating the branch data by reflecting an operation according to the change instruction data; sending the first client data indicating that the designated object is changed in response to the initial generation of the instruction to change the designated object by the second user; sending, by the first client, the second client change instruction data indicating the instruction to change the designated object by the first user, in response to reception of the data indicating that the designated object is changed; judging, by the second client using operational transformation, whether it is possible to merge a first operation sequence according to the change instruction data received from the first client, with a second operation sequence according to the change instruction data received from the second client; and
if the merging is possible, transmitting the first operation sequence to the first client,applying, by the first client using operational transformation, the first operation sequence transmitted from the second client to the content data of the second user. - View Dependent Claims (11)
-
-
14. A server which enables an object in content data to be edited collaboratively, the server being connectable through a network to a first client associated with a first user and a second client associated with a second user, the server comprising:
-
a server side receiver configured to receive, in response to a designation of an object made by the first user as an object that the second user is not allowed to edit, information identifying the designated object from the first client; a server side receiver configured to receive, from the second client after the reception of the information identifying the designated object, change instruction data indicating an instruction to change the designated object by the second user; a generating unit configured to generate branch data of the designated object in response to reception of the change instruction data from the second client; a server side receiver configured to receive, from the first client after the reception of the information identifying the designated object, change instruction data indicating an instruction to change the designated object by the first user, a storage configured to store therein the change instruction data received from the second client, the change instruction data received from the first client, and the branch data, and to update the branch data by reflecting an operation according to the change instruction data received from the first client; a judging unit configured to judge, by using operational transformation, whether it is possible to merge a first operation sequence according to the change instruction data received from the first client, with a second operation sequence according to the change instruction data received from the second client; and an applying unit configured to apply the first operation sequence to the content data of the second user by using operational transformation if the merging is possible. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification