You are on page 1of 26




Group editors allow a group of distributed human users to edit a shared document at the same time. It consists of a few users who use the editor simultaneously on different systems. The user can chat with other users through the coordinator. This chatting is processed by individual or multicasting.

The main purpose of Internet-based applications, such as Group Editors, is to promote the productivity of human users as a group.
Group Editors are a classic model and research vehicle for distributed interactive groupware applications because they typically manipulate shared data in a coordinated manner

A Group Editor is a groupware application that allows a distributed group of human users to edit a shared document over a computer network. Real-time group editors allow a group of users to view and edit the same document at the same time from geographically dispersed sites connected by communication networks

Remote operations are transformed before they are executed such that inconsistencies are repaired. Operational Transformation seems a promising consistency control method that is able to achieve high responsiveness, high concurrency, and convergence while preserving interaction results and operation intentions.

Drawing pad can be created to get drawing object from user and it is used to share resources in distributed environment. The position of the object present in the drawing pad can be identified and also height and width of the object drawn in the drawing pad can be measured. Then the input object can be distributed to corresponding receiver or to all the receivers by effective synchronization.

Literature Survey
The Java Programming Language The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
Simple and powerful Architecture neutral Object oriented Safe Interpreted and high performance Interactive Robust

The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes -the platformindependent codes interpreted by the interpreter on the Java platform.

The interpreter parses and runs each Java byte code instruction on the computer. Compilation happens just once, interpretation occurs each time the program is executed. The following figure illustrates how this works:

Generation of bytecode

bytecode Compiler Myprgm.class


The Java Platform

A platform is the hardware or software environment in which a program runs. The Java platform has two components: The Java Virtual Machine (JVM) The Java Application Programming Interface (Java API) Java byte codes help make write once, run anywhere possible. The program can be compiled into byte codes on any platform that has a Java compiler. The byte codes can then be run on any implementation of the Java Virtual Machine.

Existing System
In the existing system, the group editors can work only by request-response process. It has a problem of consistency control and takes more time to process group editors.

Proposed System
The proposed system consists of the OT Framework to address the weakness in the existing system.

The system consists of two criteria:

Causality preservation
Operational effects preservation
for verifying the correctness of Operational Transformation.

The basic idea of OT is to execute any local operation as soon as it is generated for high local responsiveness. Remote operations are transformed against concurrent operations that have been executed locally before its execution. Users are aware of the changes made by collaborators and are able to discover and resolve semantic conflicts in a timely manner.

Architectural Design
The architectural design process is concerned with establishing a basic structural framework for a system. It involves identifying the major components of the system and the communications between these components.

Hardware Requirements Hard disk: 1GB RAM : 512MB Software Requirements Java 1.5 or above Windows 98 or above

System Requirements Specification

Functional Requirements The client shall be able to communicate with other clients using text chat. All the clients connected to the coordinator can edit a shared image. The system shall provide the users to view the changes made to the document. Non-functional Requirements Response time and the speed of execution of the system


Text chat


Drawing pad


The basic function of a coordinator is to establish connection between clients. Only the coordinator has the privilege to upload images. The coordinator can also disconnect any client or all the clients connected. It can also end all the sessions without any notification.

All the clients connected to the coordinator can play sender or receiver. The clients can send text messages, edit the image uploaded by the coordinator, draw or paint, modify and send it to other clients.

Synchronize and transfer object


Synchronize and transfer object

Drawing Pad
While sending an image the position of the object in the drawing pad as well as the height and width of the object drawn in the drawing pad are considered. The object transmitted is placed at the exact position of the drawing pad on the receiver end and is drawn as received from the sender. To accomplish this, Operational Transformation is employed.

Text Chat
Text chat option is provided in the project to communicate with the other clients connected. The client can send the message to every other client connected or to any specific recipient. When the text chat is selected, required sockets are invoked which reads the text from the keyboard and send it to the recipient

The application has been developed in order to facilitate two or more users to edit a shared document irrespective of the geographical constraints at the same time. The approach we have used here is Operational Transformation (OT) which is a well established method for consistency control. It typically replicates the shared document and allows any user to edit any part of the document at any time. editing operations are executed often without being delayed or blocked. Any conflicts are reduced in a timely manner. The Group Editor also allows the user to chat with other users in a distributed environment. Furthermore, this system supports editing of graphical data. It is a team activity based on a creative thought. It is user friendly and easy to handle. Thus it provides the user with a much easier and faster way to communicate.