Browse Prior Art Database

A method for collaborative document creation in a distributed environment Disclosure Number: IPCOM000126799D
Original Publication Date: 2005-Aug-02
Included in the Prior Art Database: 2005-Aug-02
Document File: 2 page(s) / 42K

Publishing Venue



Normally when collaborating on writing documents or code, the people involved can sit together and discuss and write the document. However, if some of the collaborators are in other locations, this is not possible and so writing the document together becomes more difficult. In a large organisations with many different locations throughout the world, this is not always possible. This article describes a way of enabling this collaboration across different locations.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

A method for collaborative document creation in a distributed environment

This paper describes a method for enabling collaborators in different locations to collaborate in writing documents or code in real time. Currently each collaborator would have to write different sections of the document and then send them to each other. Only then can others comment on the various sections and feedback those comments into the document. This means it takes much longer to produce the documents, and furthermore, the level of interaction and collaboration is greatly reduced compared to the situation where collaborators are in the same location. For example, the "Pair Programming" concept in Extreme Programming, means that two people sit at the same computer and write the code together. This only works if the programmers are in the same location.

    The method described here allows a much greater level of collaboration across different locations. Collaborators are be able to view, comment on, and make changes to documents in real time. This is achieved by using a locking system on the document(s). A client can lock a document, allowing it to be edited. Any changes made will be seen by all other clients in real time. Other clients can also request the lock and so can edit the document. While this system could be implemented using a server, it would be beneficial to not have a dedicated server. This removes the need to set up the servers and removes the bottleneck of several collaborating groups using the same server. The way it would work without a server is as follows (if using a server, it would need to take on the role on the main client).

    Each user loads up their client program, e.g. a word processor. IDs are then assigned (this can be done automatically or manually) to each client. The client with the lowest ID can be the main client. When a person wants to edit the document, their client contacts the main client and requests a lock for the document. If the main client already has a lock registered for another client, then the request is denied, but the lock owner is informed that a request has been received, giving the user a chance to release the lock. If there is no lock registered, then a lock is registered for the requesting client, and the client is informed that it can now allow editing of the document.

    The user of the client that owns the lock can now edit the document freely. When they have finished editing, the client tells the main client that it has finished with the lock, and the lock is unregistered. The edit changes are sent to all other clients (either directly using a broadcast or by via the main client). The changes cou...