Sign In to Follow Application
View All Documents & Correspondence

System And Method For Delta Change Synchronization

Abstract: A computer implemented system and method for delta change synchronization have been disclosed. The system performs delta change synchronization by transferring between two or multiple nodes an initial model and rendering only the changed objects during the subsequent communications. The nodes are provided with delta change processing sub-system which mainly includes a delta recorder means for recording the changes in the objects of the main model and rendering them to other nodes.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
18 November 2010
Publication Number
26/2013
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

ZENSAR TECHNOLOGIES LTD.
ZENSAR KNOWLEDGE PARK, PLOT # 4, MIDC,KHARADI,OFF NAGAR ROAD, PUNE 411 014, MAHARASHTRA, INDIA.

Inventors

1. GAIKWAD VIJAYKUMAR VASANTRAO
DAFFODILS,D-311,WING B, MAGARPATTACITY, HADAPSAR, PUNE 411 013, MAHARASHTRA, INDIA.

Specification

FORM-2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2006
COMPLETE SPECIFICATION
(See section 10 and rule 13)
System and Method for Delta Change Synchronization
ZENSAR TECHNOLOGIES LIMITED,
an Indian Company of Zensar Knowledge Park, Plot # 4, MIDC, Kharadi, off Nagar Road, Pune - 411014, Maharashtra, India
The following Specification describes the nature of the invention and the way in which it is
to be performed

FIELD OF THE DISCLOSURE
The present disclosure relates to the field of data communication between a plurality of computers.
Particularly, the present disclosure relates to synchronizing data between multiple applications implemented at geographically separated locations.
DEFINITIONS
The term "object" used in the specification refers to complex data structures, or abstract data types containing base level information of any application, OS, application files, system files and combinations thereof.
The term "model" used in the specification refers to the grouping of the objects.
These definitions are in addition to those expressed in the art.
BACKGROUND OF THE INVENTION
Designing and developing a software system is a task that relies heavily on human intelligence. The onus of providing best possible set of inputs to computer based systems and making those systems perform the required processes/tasks is upon the analysts who are entrusted the responsibility of handling those computer based systems. Typically, a software development lifecycle includes requirements capture stage, solutions design stage, development stage and testing stage. These steps can be implemented using a variety of models including waterfall model, iterative model, agile model and the like. The choice of the model often depends upon, to name a few, the nature, type, cost, location and resource availability of the underlying software project.
With the software industry maturing at a rapid rate, certain measures have been undertaken in order to introduce certain degree of standardization to the manner in which these models are created and implemented. Some of the popular techniques of standardization include:
• Business Process Modeling Notation(BPMN): which is utilized to document all the process flows;

• Unified Modeling Language (UML): which is utilized to model different aspects of a software system including the interrelationship between the objects and classes of a software system; and
• Model Driven Design/Model Driven Architecture (MDD/MDA): which is utilized to apply a model driven approach for representing and documenting various elements of a software system.
The phenomenon of creation and implementation of models is widely utilized in the software industry in order to:
• ensure standardized visual representation and usage of standardized notations that better depict the relationship between the various objects of the software system;
• improve the quality and precision of the deliverables;
• reduce the human errors typically associated with the process of software development; and
• provide opportunities for automation of the process of software design and development.
The approach utilized for designing and developing a software system typically begun with the step of requirements capture. During the phase of capturing the requirements, an analyst needs to have multiple discussions with the concerned business/function owners and/or subject matter experts. The requirement capture stage requires the analyst to be located at geographically closer locations for frequent and effective transactions. Typically, the step of requirement capture is accomplished using conventional techniques such as tele-conferencing and video conferencing. The analyst performing the step of capturing the software requirements is required to understand the requirements through interactive discussions and subsequently capture and document his/her understanding using business process models, flow diagrams, use case diagrams and the like.
But typically, certain steps involved in design and development of software systems are complicated than the rest of the steps and warrant the analyst to hold more than one round of discussions with the concerned subject matter experts, and require multiple clarifications. Moreover, the steps that are complex by nature are required to be appropriately interpreted by the analyst and such interpretation is often influenced by the amount of time the analyst invests in discussing the steps with the subject matter experts.

Typically, once the software requirements are captured, the analyst will be required to draft a requirements specification document and get the same reviewed by the subject matter experts. Subsequently, the analyst will be required to modify and update the requirements specification document based on the reviews received from the subject matter experts.
Subsequently, the analyst will be required to undertake multiple reviews of the requirements specification document and discuss the information embodied in the requirements specification with the software solution design team prior to finalizing the layout and the contents of the same. In certain cases where the software solution design team is located at a different location than the one where the concerned analyst is located, multiple copies of the requirements specification document will have to be exchanged between the analyst and the software solution design team. Such exchanges will be typically tracked by naming the requirements specification document in terms of different versions. Typically the copies of the requirements specification will be exchanged through emails and depending upon the review, would be named in terms of versions.
The exchange of requirements specification document typically involves exchange of plurality of emails containing the requirements specification document as an attachment. Firstly, sending and receiving such confidential documentation via email entails considerable amount of data security risk and increases the probability of occurrence of data theft. Secondly, depending upon the tools utilized for documentation, the process of sending the copy of the requirements specification for review might involve multiple steps such as exporting contents of the specification document from one format to another (for example, from mode! form to image format), generating the requirements specification document in a particular format (for example, in PDF format), and optionally compressing the requirements specification document using well known data compression techniques to attach it to the email. Typically, the process of sending multiple documents (Requirements Specifications) through emails and receiving multiple, reviewed documents once again via email is a tedious process and renders the job of data analysis much more difficult. Since the aforementioned process involves reading through multiple emails and multiple copies of the documentation attached with the email at the analyst's end, there is likelihood that the analyst may miss out on some of the updates or improvements suggested to the requirements specification documentation.

As a part of the job routine, in addition to keeping track of all the emails sent and received, and multiple changes/updates inflicted upon the requirements specification document, the analyst will also have to plan a combination of online and offline discussions with the solutions team. Analyst's job gets complicated if the solutions team is located at a place that is geographically not co-located with the place where the analyst is working. The task of manually tracking multiple changes/updates inflicted upon the documentation is cumbersome and time consuming.
Typically, the number of discussions required to be held between the analyst and the solutions team, and the number of times the requirements specification document needs to be reviewed will vary depending upon the nature of the software project. In certain cases, the requirements specification document would be reviewed and updated on a daily basis. If the analyst in charge of handling the process of software requirements capturing and the various teams, including the solution team are located at geographically dispersed locations, then the task of iteratively reviewing the requirements specification document becomes cumbersome and time consuming.
Apart from the email facility, some of the other conventional techniques utilized for transmitting the data between two or more computer nodes that are located at geographically dispersed locations include video conferencing and utilization of online tools such as NetMeeting, WebEx. But utilization of video conferencing facility entails high financial costs in terms of procuring the necessary equipment, installing and maintaining the equipment. Moreover, if the video conferencing facility is utilized to discuss a requirements specification document, then the participants other than the creator of the requirements specification document will be able to view only a graphical representation of the document. Even to view a graphical representation, a very high bandwidth computer network is required to be available. If there are multiple participants involved in video conferencing, then all the participants need to have access to a high bandwidth computer network. Since no participant other than the creator of the requirements specification document can inflict modifications upon the document, the video conferencing is restricted to a one way communication with only the creator of the document being able to dynamically modify the document, and the other participants are restricted to only viewing the documents and voicing their opinion about the document rather than being able to modify the documents according to their opinions.

Another conventional technique utilized for data communication between multiple participants is utilization of online tools including WebEx and NetMeeting. The cost involved in obtaining a commercial license for using such products is often high. Moreover, another disadvantage associated with using such tools is that all the stakeholders involved in the process of data communication need to have the same collaboration tool. Moreover, utilization of such tools also necessitates availability of greater network bandwidth. Tools such as NetMeeting and WebEx are screen sharing tools which transfer the graphical data corresponding to a particular user's graphical user interface to another remote user's graphical user interface. Normally, the graphical data corresponding to a particular user's graphical user interface has a large file size (at least 64 Kilo Bytes or more). Transferring such data files exerts a heavy load on the underlying computer network and in case if adequate network bandwidth is unavailable for transferring such a huge volume of data then the transmission of data gets delayed.
Apart from the aforementioned drawbacks, making use of the conventional approach of data communication entails the following disadvantages:
• various stakeholders participating in the process of software design and development are required to be always co-located;
• the conventional approach of using email communication, video conferencing and tele conferencing lays greater emphasis on the analyst's ability to effectively capture the software requirements with an optimum level of detail and his/her ability to ensure that there is no loss of information and ambiguity;
• the conventional approach requires significant amounts of time to be invested for formatting the documents in a preferred format;
• the documentation prepared using the traditional approach typically creates compatibility issues as far as viewing and/or of the documentation is concerned;
• the conventional approach warrants scheduling of multiple rounds of discussions and reviews with multiple stakeholders who are located at geographically dispersed locations; the conventional approach entails risks in respect of sharing and handling of the documentation since multiple copies of the documentation are typically circulated amongst the stakeholders through email;

• the conventional approach warrants the business analysts to manually gather and review multiple copies of the documentation in order to analyze the updates and modification performed on those copies; and
• the conventional approach warrants utilization of specialized software and/or hardware equipment, thereby increasing the cost associated with the process of software design and development.
Therefore, there was felt a need for a system which overcame the aforementioned disadvantages and:
• enabled geographically dispersed personnel to collaborate in real time and at frequent
intervals of time;
• enabled collaboration to take place without the need of additional third party
hardware/software;
• enhanced the efficiency of the work groups by providing for better collaboration despite the work groups being located at geographically dispersed locations;
• enabled secured communication between geographically dispersed work groups;
• did not necessitate sharing of multiple copies of the documentation through email;
• enabled online, dynamic review of various documentation without requiring access to complex collaboration tools and softwares; and
• provided for various documentations to be transmitted to the destination in a secured manner and without compromising on the aspect of data security.
OBJECTS OF THE INVENTION
An object of the present invention is to facilitate communication between application processes which are executed at geographically disbursed locations.
Yet another object of the present invention is to facilitate geographically dispersed personnel to collaborate in real time and at regular intervals of time.
Still a further object of the present invention is to provide a system that helps enhance the efficiency of the work groups by providing for better collaboration between geographically dispersed workgroups.

Another object of the present invention is to facilitate data collaboration without the need for additional third party infrastructure.
Yet another object of the invention to provide a system which can provide real time or near real time synchronous updates to multiple receivers.
Still a further object of the present invention is to provide a system that facilitated secured data communication across geographically displaced locations.
Another object of the present invention is to provide a system that did not warrant the utilization of complex communication mechanisms.
Yet another object of the present invention is to provide a system that facilitated real-time, online reviews of data items without necessitating the utilization of complex data collaboration techniques.
One more object of the present invention is to provide a system that facilitated secured communication of data across geographically dispersed locations.
Still a further object of the present invention is to provide a system that provides for efficient transmission and synchronization of data by significantly reducing the size of data packets.
Another object of the present invention is to provide a system which eliminates the need of transmitting and updating multiple copies of data items.
Yet another object of the present invention is to provide a system that transmits various documentations in a secured manner and without compromising on the aspect of data security.
SUMMARY OF THE INVENTION
The present invention envisages a computer implemented system and method for delta change synchronization. The computer implemented system, in accordance with the present invention comprises a plurality of nodes which form client-host architecture. In accordance with the present invention, each of the plurality of nodes comprise collaboration means, which is adapted to establish a collaboration session with the remainder of said plurality of nodes via a computer network.

Typically, in accordance with the present invention, the computer implemented system further includes a model generator, which is adapted to generate an initial model comprising objects associated with content, wherein the content is selected from the group of contents consisting of operating system programs, operating system files, means programs, means files, images, videos and combinations thereof.
Typically, in accordance with the present invention, the computer implemented system further includes rendering means, which is adapted to render the initial model to the remainder of the plurality of nodes.
Typically, in accordance with the present invention, the computer implemented system further includes content reproducer means, which cooperates with the rendering means to receive the initial model and reproduce the content associated with the initial model.
Typically, in accordance with the present invention, the computer implemented system further includes a delta change processing sub-system, which further includes delta recorder means which is adapted to record the modifications made to at least one of the objects of the initial model, wherein the changes are identified and recorded based on occurrence of predefined events.
Typically, in accordance with the present invention, the delta change processing sub-system further includes change rendering means, which is adapted to selectively render the modified objects to at least one of the remainder of the plurality of nodes.
Typically, in accordance with the present invention, the delta change processing sub-system further includes modifying means, which is adapted to modify the initial model and produce modified initial model on at least one of the remainder of the plurality of nodes by replacing the existing objects with the modified objects.
Typically, in accordance with the present invention, the delta change processing subsystem further includes applicator means, which cooperates with the modification means to apply the modifications to the content associated with the modified initial model, wherein the modifications to the content are applied on at least one of the plurality of nodes.

Typically, in accordance with the present invention, the objects contain base level information corresponding to the content. The base level information includes complex data structures, abstract data types, binary tree structures, linked lists, stacks, queues, functions, RGB information, display information and any combinations thereof.
Typically, in accordance with the present invention, the rendering means includes first transmission means, which is adapted to transmit the initial model to the remainder of the plurality of nodes.
Typically, in accordance with the present invention, the collaboration means includes a node authentication means adapted to authenticate a node prior to establishing the collaboration session.
Typically, in accordance with the present invention, the content reproducer means includes first receiving means adapted to receive the transmitted initial model, wherein the initial model is transmitted from a node different from the node receiving said transmitted initial model.
Typically, in accordance with the present invention, the change rendering means includes second transmission means adapted to selectively transmit the modified objects to the remainder of the plurality of nodes.
Typically, in accordance with the present invention, the modification means includes second receiving means adapted to receive the modified objects transmitted by said second transmission means.
Typically, in accordance with the present invention, at any instance, the node rendering the initial model or the modified objects is the host node and the remainder of the plurality of nodes are client nodes.
Typically, in accordance with the present invention, the predefined events include the activities performed by a node to modify the content of the initial model.
Typically, in accordance with the present invention, the predefined events are selected from the group of events consisting of on-click event, on-scroll event, on-drag event, text select event and combinations thereof.

The present invention envisages a computer implemented method for delta change synchronization. The method, in accordance with the present invention includes the following steps:
• providing each of a plurality of nodes with a collaboration means;
• establishing a collaboration session between said plurality of nodes;
• making at least one of said plurality of nodes render an initial model onto the remainder of said plurality of nodes;
• using said initial model to reproduce the content at remainder of said plurality of nodes;
• recording the modifications made to at least one of the objects of said initial model in a first node based on occurrence of predefined events;
• selectively rendering the modified objects onto the remainder of said plurality of nodes;
• modifying said initial model and producing a modified initial model on at least one of the remainder of said plurality of nodes by replacing the existing objects with the modified objects; and
• applying the modifications to the content associated with said modified initial model.
Typically, in accordance with the present invention, the step of making at least one of the plurality of nodes render an initial model to the remainder of the plurality of nodes includes the step of transmitting the initial model from the node to at least one of the remainder of the plurality of nodes.
Typically, in accordance with the present invention, the step of using the initial model to reproduce the content on at least one of the remainder of the plurality of nodes includes the step of receiving the transmitted initial model on at least one of the remainder of the plurality of nodes.

Typically, in accordance with the present invention, the step of selectively rendering the modified objects onto the remainder of plurality of nodes includes the step of selectively transmitting the modified objects to the remainder of said plurality of nodes.
Typically, in accordance with the present invention, the step of modifying the initial model and producing a modified initial model on at least one of the remainder of plurality of nodes by replacing the existing objects with the modified objects includes the step of receiving the modified objects at the remainder of plurality of nodes.
DETAILED DESCRIPTION OF THE INVENTION
The present invention proposes a computer implemented system and method for achieving effective collaboration between two or plurality of nodes. Conventional techniques of data communication between two nodes involve transmitting the complete data set from the sender node to the receiver node. In case if the data set is modified at the sender node subsequent to the transmission, the entire data set would be resent to the receiver node. But in the case of present invention, subsequent to transferring an initial model or a data set and if any modifications are inflicted upon the initial data model or data set, the system of the invention transmits only the changed objects or entities to the receiving nodes. The system of the present invention subsequently updates the initial model available at the receiving nodes with the changed objects, and provides an updated view of the model that includes all the recent modifications inflicted upon the model.
The term model in this specification refers to a group or package of data objects formed at any instance. In accordance with the present invention, the task of updating the initial model with the changed data objects is the responsibility of the delta change processing subsystem which is made available at every participant node. The delta change processing subsystem performs the function of identifying and recording the changes in the objects of the initial model and renders them to the other participant nodes.
By using the delta change processing subsystem to identify, record, and subsequently transmit only the changed contents/objects, and by abstaining from transmitting the entire initial model incorporating the changed objects, the system of the present invention facilitates faster and

efficient collaboration between the participant nodes irrespective of the geographical distance between the participant nodes.
In accordance with the present invention, the node that generates and subsequently transmits the initial model is termed as the 'host' node and the nodes that receive, at first the initial model, and subsequently the changed objects and changed content are termed as 'client'. Firstly, the initial model, which is termed as 'M' for the sake of explanation, is shared between the participant nodes. The server or the host node transmits the initial model 'M' to the rest of the participant nodes. The participant nodes receive and store a copy of the initial model 'M' in their respective in-core memory.
Subsequently, modifications inflicted upon the initial model 'M' at any of the participating nodes are recorded using delta change processing subsystem and are rendered to the remainder of the participant nodes. The modifications inflicted upon the initial model 'M' are made available on every participant node by the delta change processing subsystem. The delta recorder means associated with the delta change processing subsystem performs the function of identifying and recording the delta change in the model-objects, based on occurrence of certain events including click event, key stroke event and the like. The identified changes are recorded at the relevant participant nodes and subsequently transmitted to all the other participant nodes. The delta change processing subsystem associated with every participant node receives the changed objects/changed contents and accordingly modifies the initial model resident on the in-core memory of the corresponding participant node. Subsequent to modification of the initial model, the modified initial model is displayed on the participant nodes and the changes inflicted onto the initial model are also displayed on the display terminal available with the participant nodes.
The communication between the participant nodes is typically routed through a server using known principles of client-server communication. In accordance with the invention the nodes form a sender-receiver architecture or host-client architecture. However, it is within the scope of the invention to use server based network, server less network or a peer-to-peer network.
Referring to FIGURE 1 there is shown a computer implemented system 100 for Delta Change synchronization. The system includes a plurality of nodes which communicate with one another using a computer network symbolically represented by the reference numeral 103. The nodes are

connected to a server 101 through the computer network 103. The nodes can be computers, laptops, mobile phones, iPADs and the like. These nodes are interconnected in a computer network which can be LAN, MAN, WAN, and the like. Further, the nodes communicate with one another and the server using standard communication techniques including GPRS, Internet, 3G, Wi-Fi, Satellite network and the like.
For the sake of brevity, the invention will now be explained using an example which involves two nodes denoted by reference numeral 105A and 105B. Figure 1 exemplifies the scenario wherein two nodes 105A and 105B are communicating with one another and the server 101 through the computer network 103. Referring to Figure 1, the node 105A is the sender node or the host node which transmits data to the remaining participant nodes and in this case, transmits the data to the node 105B. The data transmitted from node 105A to node 105B in this case includes an initial model which is meant to be shared between and reviewed at the nodes 105A and 105B. The initial model is denoted by the alphabet 'M' The node 105B, in this example, is the client node or receiver node which receives the initial model 'M' from the host/sender node 105A. However, it should be clearly understood by any person skilled in the art that the implementation of the computer implemented system of the present invention is by no way restricted to only two participant nodes and that there can be a plurality of nodes connected together and there can be a plurality of receiver/client nodes.
In this example, both the participant nodes, namely 105A and 105B include collaboration means which is adapted to establish collaboration sessions with the other remaining participant nodes. The collaboration means associated with the nodes 105A and 105B are denoted by the reference numerals 110A and HOB respectively. Typically, collaboration means 110A and 11OB include node authentication means which authenticates a particular participant node prior to establishing a collaboration session with that particular participant node. In this case the collaboration means 110A and 11OB are utilized to establish a collaboration session between the two nodes 105A and 105B. Accordingly, the collaboration means 110A of the host node 105A establishes a collaboration session with the collaboration means 11OB of the receiver node 105B.
The nodes 105A and 105B are further provided with model generator denoted by 115A and 115B respectively. However, in this example, since participant node 105A is the host/sender node, using the model generator 105A it generates an initial model 'M' comprising objects

associated with content available at the participant node 105A. In accordance with the present invention the content includes operating system programs, operating system files, application programs, application files, images, videos and the like.
Further, the nodes 105A and 105B are provided with rendering means denoted by reference numerals 120A and 120B respectively. The rendering means 120A associated with the host/sender node 105A renders the initial model 'M' generated by model generatorll5A to the rendering means 120B associated with the receiver node 105B. The rendering means 120A associated with the host node 105A includes first transmission means (not shown in figures) which is adapted to transmit the initial model 'M' from the sender node 105A to remainder of the participant nodes, and in this case the remaining participant node is the receiver node 105B. The receiver node 105B also includes rendering means denoted by reference numeral 120B. The rendering means 120B further includes first receiving means (not shown in figures) which is adapted to receive the initial model 'M' transmitted by the sender node 105A. Subsequently, the content reproducer means 125B associated with the receiving node 105B reproduces the initial model 'M' on the receiver node 105B.
Further, nodes 105A and 105B are provided with delta change processing subsystems denoted by reference numerals 130A and 130B respectively. The delta change subsystem 130B associated with the receiver node 105B is utilized for the purpose of identifying and recording the modifications inflicted onto the initial model 'M' at the receiver node 105B and transmit the changes to other participant node(s), and in this case the changes are transmitted back to the sender node 105A since it is the only other node involved in the process of data communication. Since there are only two participant nodes, namely 105A and 105B, the delta change processing subsystem 130B transmits the changed contents/objects to the host node 105A. However, in the case of involvement of multiple receiver nodes, changes inflicted upon the initial model 6M' at a particular receiver node will be transmitted to all the other receiver nodes as well as the host node by the delta processing subsystem associated with the node inflicting modifications on the initial model 'M'
The delta change processing subsystem 130B is provided with delta recorder means denoted by the reference numeral 135B. The delta recorder 13SB records the changes inflicted upon the contents/objects of the initial model 'M', at the receiver node 105B depending upon the

occurrence of predefined events. For instance, the predefined events include click event, scroll event, stroke event, drag event, text select event, their respective combinations or any changes occurring due to activities performed by the receiver node 105B in order to modify the content associated with the initial model 'M'
Subsequent to inflicting the modifications on the objects of the initial model 'M', and subsequent to recording the modifications inflicted on the objects on the initial model 'NT at the receiver node 105B, the modified objects are transmitted back to the host node 10SA. In case of this example, the receiver node 105B transmits the changed objects to the host node 105A since the host node 105A is the only other node involved in the process of data communication. However, in case if multiple receiver nodes are present then changes inflicted upon the initial model 'M' at a particular receiver node will be transmitted to all the other receiver nodes as well as the host node which at first created and transmitted the initial model 'M'.
The receiver node 105B is provided with change rendering means denoted by the reference numeral 140B. The change rendering means 140B cooperates with the delta recorder means 135B to receive those objects of the initial model 'M' that have been modified at the receiver node 105B. The change rendering means HOB subsequently renders the changed objects of the initial model 'M' to the remaining participant nodes. However, in the case of this example, since the host node 105A is the only other node apart from the receiver node 105B involved in the process of data communication, the modifications inflicted onto the objects of the initial model 'M' at the receiver node 105B will be rendered to the host node 105A.
The host node 105A is also provided with a change rendering means 140A. The change rendering means 140A associated with the sender node 105A is adapted to render those objects that correspond to the modifications inflicted upon the initial model 'M' at the sender node 105A. In case if the sender node 105A inflicts modifications onto the initial model 'M' subsequent to transmitting the initial model to the rest of the participant nodes, then the change rendering means 140A makes those changes available to the participant nodes. However, in this particular example, since the sender node 105A is the node generating the initial model 'M' and since the initial model 'M' is not modified at the sender node 105A, the functionality associated with the change rendering means 140A is not utilized at the sender node 105A.

The change rendering means 140B of the receiver node 105B includes second transmission means (not shown in figures) which is adapted to transmit the modified objects corresponding to the initial model 'M' to the remaining participant nodes. In case of this example, since the host node 105A is the only other node apart from the receiver node 105B involved in the process of data communication, the modifications inflicted onto the objects of the initial model 'M' at the receiver node 105B will be transmitted to the host node 105A.
The sender node 105A is provided with modifying means 145A which cooperates with the change rendering means 140B of the node 105B to receive those objects corresponding to the initial model 'M' that have been modified at the node 105B. The change rendering means 1406 associated with the receiver node 105B transmits the objects of the initial model 'M' that have been modified at the receiver node 105B. The change rendering means 140B of the receiver node 105B includes second transmission means (not shown in figures) which cooperates with the modifying means 145A of the sender node 105A and subsequently transmits the modified objects of the initial model 'M' to the modifying means 145A associated with sender node 105A.
The modifying means 145A includes second receiving means (not shown in figures) which cooperates with the second transmission means associated with the change rendering means 140B of the receiver node 105B. to receive from the receiver node 105B, those objects of the initial model 'M' that have been modified at the receiver node 105B. The modifying means 145A of the sender node 105A subsequently modifies the initial model 'M' at the sender node 105A by replacing the previously existing objects of the initial model 'M' with the modified objects that have been transmitted by the change rendering means 140B of receiver node 105B.
Further, both the nodes 105A and 105B are provided with applicator means 150A and 150B respectively. The applicator means is utilized by those nodes which are receiving the modified objects corresponding to the initial model 'M', and in this case, the node 105A, i.e., the sender node is the one receiving the modified objects from the node 105B which has inflicted certain modification on the objects of the initial model 'M'. Therefore, the applicator means, in this case is utilized at the sender node 105A. The applicator node 150A associated with the sender node 105A applies the modified objects to the initial model 'M' and accordingly modifies the contents of the initial model 'M' in order to accurately reflect on the sender node 105A, the changes inflicted on the initial model 'M' at the receiver node 105B.

In the event that the node 105B inflicts some other modifications to the objects associated with the initial model 'M' received from the sender node 105A, the defta recorder means I35B associated with the node 105B firstly identifies those modifications based on occurrence of predefined events and subsequently records those modifications. The modified objects are subsequently rendered using the change rendering means 140B to the remaining participant nodes and in this case the modified objects are transmitted to the node 105A since it is the only other participant node. At node 105A, the modified objects are provided to the modifying means 145A which modifies the model 'M' by replacing the pre existing objects with the modified objects that have been received from change rendering means 140B of the node 105B.The applicator means 150A associated with the node 105A applies the corresponding modifications to the content of the Model 'M' and accordingly updates the model so as to accurately reflect the latest modifications.
Figure 2 represents a connection between a host node 105A and the client node 105B wherein both the nodes connect to a server 101. The nodes are authenticated by providing session credentials which are selected from the group of credentials consisting of at least user name, password, graphic password and any combinations thereof. After the authentication is done and both the nodes are connected to the server, a direct collaboration session is established between the nodes 105A and 105B as shown in Figure 3. Further, the initial model 'M' comprising objects '5' and '7' at the host/sender node 105A is rendered to the client node 105B as shown in Figure 4. Figures 4, 5, 6 and 7 exemplify another aspect of the present invention wherein the sender node 105A inflicts certain modifications to the initial model 'M' subsequent to transmitting the initial model to the remaining participant node 105B.
In accordance with Figure 5, the modifications to the objects of the initial model 'M', occurring at the sender node 105A are recorded. Referring to Figure 5, the initiation of a new object '9' is recorded at the host node 105A. The delta change, that is, only the newly created object 9 is rendered by the host node 105A to the client node 105B as shown in Figure 6. It is apparent from Figure 4 that the initial model 'M' having two objects, namely '5' and '7' were rendered from the sender node 105A to the receiver node 105B. Subsequently, when the initial model 'M' is modified at the sender node 105A (in this case, a new object '9' is added), only the modified object, that is, the object '9' is rendered to the receiver node 105B as shown in Figure 6.

Referring to Figure 7 there is shown the multiple node architecture in accordance with another
aspect of the present invention wherein the multiple nodes 105A, 105B, ,105Y, 105Z are
simultaneously participating in a collaboration session. Any node can function as the host/ sender node by initiating the creation of a model and by rendering the initial model across the remaining participants. However, at any instance of time, only one node can function as the host/sender node and the remaining nodes have to function as receiver nodes.
Referring to Figure 8 there is shown a computer implemented method for delta change synchronization. The method, in accordance with the present invention includes the following steps:
• providing each of a plurality of nodes with a collaboration means 301;
• establishing a collaboration session between said plurality of nodes 302;
• making at least one of said plurality of nodes render an initial model onto the remainder of said plurality of nodes 303;
• using said initial model to reproduce the content at remainder of said plurality of nodes 304;
• recording the modifications made to at least one of the objects of said initial model in a first node based on occurrence of predefined events 305;
• selectively rendering the modified objects onto the remainder of said plurality of nodes 306;
• modifying said initial model and producing a modified initial model on at least one of the remainder of said plurality of nodes by replacing the existing objects with the modified objects 307; and
• applying the modifications to the content associated with said modified initial model 308.

In accordance with the present invention, the step of making at least one of the plurality of nodes render an initial model to the remainder of the plurality of nodes includes the step of transmitting the initial model from the node to at least one of the remainder of the plurality of nodes.
In accordance with the present invention, the step of using the initial model to reproduce the content on at least one of the remainder of the plurality of nodes includes the step of receiving the transmitted initial model on at least one of the remainder of the plurality of nodes.
In accordance with the present invention, the step of selectively rendering the modified objects onto the remainder of plurality of nodes includes the step of selectively transmitting the modified objects to the remainder of said plurality of nodes.
In accordance with the present invention, the step of modifying the initial model and producing a modified initial model on at least one of the remainder of plurality of nodes by replacing the existing objects with the modified objects includes the step of receiving the modified objects at the remainder of plurality of nodes.
Figure 9 illustrates the transfer of the initial model 'M' between the sender/host node 105A and receiver node 105B at different instances of time. The Model "M" is generated at the first node 105A at a time period t=0, which after the establishment of collaboration session (i.e. in a synchronized state) is rendered to the participant node or the receiver node 105B at a time period t=l. Subsequently, the content corresponding to the objects of the initial model 'M' are visible to the user of the receiver node 105B.
Further, at the time period t=2, the initial model (M' available with the sender/host node 105A as well as the receiver node 105B is modified due to change (delta change) in the content and a corresponding new object is created. The change in the content of the initial model 'M', inflicted at the node 105A is recorded by the delta recorder means 135A which is associated with the node 105A. At time period t=3 the delta change is rendered to the participant node 105B through the change rendering means 120A associated with the node 105A.
The node 105B uses a modifying means 145B which receives the modified objects from the change rendering means 120A of node 105A, and subsequently modifies the initial model 'M' at the node 105B thereby producing a modified initial model at the node 105B. But prior to the

model displayed on the node 105B, the applicator means 150B applies the changes to the contents of the initial model 'M' and reflects on the display terminal(not shown in figures) of the node 105B, the modifications inflicted at the node 105A on the initial model 'M'
In accordance with an exemplary embodiment of the present invention, a host/sender node creates an initial model 'M' for face modification application (i.e. application program) wherein the objects are the image of a man to be modified, and its attributes. For instance, these attributes can be the facial structure, eye color, skin complexion, hair style and the like. The host/sender node subsequently renders the initial model 'M' onto all the participant nodes other than the sender/host node. Now, in case a second node modifies some of the attributes of the image, for example, adds a 'French beard', then such a change will cause the corresponding objects and the model to change. These changes in objects and model will be recorded by the delta change processing sub-system associated with the second node using a delta recorder means. The recorded changes are rendered to at least one of the remainder of the nodes connected to the second node using the change rendering means associated with the second node, it is possible to selectively render the changed objects and contents to some of the nodes and alternatively, render the changed objects and contents to all the participant nodes. Further, the rendered changes are utilized by the modifying means available with the remainder of the connected nodes which have been provided with the changed objects and contents, to modify the respective initial models locally at the respective nodes. The remainder of the nodes are also equipped with applicator means which cooperates with the respective modifying means and reflects on the respective nodes, the changes inflicted upon the initial model by the second node. In this case, the applicator means associated with the respective nodes renders on to the respective nodes the changes inflicted by the second node, that is, the addition of a 'French beard' onto the image which was done at the second node.
For the sake of explanation, let us assume that an analyst entrusted with the responsibility of preparing a requirements specification document is using the node 105A, and the analyst needs to coordinate with a domain expert remotely located and using the node 105B.In accordance with the present invention, the analyst working on the node 105A initiates an online collaboration session using the collaboration means 110A, with the collaboration means 11OB associated with the node 105B. Initiating such a procedure absolves the analyst of the responsibility of sending a

copy of the requirements specification document through email. Since a collaboration session
has been established between the nodes 105A and 105B, the domain expert working on a remote
node needs to access his/her node and his/her node i.e. node 105B immediately gets
synchronized with the requirements specifications document that is available with the analyst
working on the node 105A. In accordance with the present invention, the analyst as well as the
domain expert will be able to view the same requirements specification document and
dynamically modify the documents. The modifications inflicted on the specification document at
either participant nodes are immediately made available to the other participant node. The delta
change recorder means and the delta change processing subsystem associated with both the
nodes record the changes inflicted on the requirements specification document and subsequently
process the changes inflicted upon the document. Once the modifications inflicted on the
document at a particular node are recorded, the objects so modified are transmitted to the
remainder of the participant nodes and the document available at the remaining of the participant
nodes are dynamically updated to reflect the modifications. The present invention enables real
time discussions to be held between the analyst and the domain expert despite the fact that both
of them are located at geographically dispersed locations. For example, while drafting the
document, if the analyst includes a use case "add customer" into the document and during the
review of the document, if the analyst adds another use case "update customer", then in
accordance with present invention, the modification i.e. creation of new use case by the analyst is
considered as a delta change and such a change is dynamically synchronized with all the
remaining participant nodes without the need to physically transmit the modified model once
again to the remainder of the participant nodes.
TECHNICAL ADVANCEMENTS
The technical advancements of the present invention include:
• facilitating communication between application processes which are implemented at geographically disbursed locations;
• facilitating geographically dispersed personnel to collaborate in real time and at regular intervals of time;

• providing a system that helps enhance the efficiency of the work groups by providing for better collaboration between geographically dispersed workgroups;
• facilitating data collaboration without the need for additional third party infrastructure;
• providing a system which can provide real time or near real time synchronous updates to multiple receivers;
• providing a system that facilitated secured data communication across geographically displaced locations;
• providing a system that did not warrant the utilization of complex communication mechanisms;
• providing a system that facilitated real-time, online reviews of data items without necessitating the utilization of complex data collaboration techniques;
• providing a system that facilitated secured communication of data across geographically dispersed locations;
• providing a system that facilitated efficient transmission and synchronization of data by significantly reducing the size of data packets;
• providing a system which eliminates the need of transmitting and updating multiple copies of data items; and
• providing a system that transmits various documentations in a secured manner and without compromising on the aspect of data security.
While considerable emphasis has been placed herein on the particular features of this invention, it will be appreciated that various modifications can be made, and that many changes can be made in the preferred embodiment without departing from the principles of the invention. These and other modifications in the nature of the invention or the preferred embodiments will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the invention and not as a limitation.

WE CLAIM
1. A computer implemented system for delta change synchronization, said system comprising a plurality of nodes forming a host-client architecture, wherein each of said plurality of nodes comprises:
■ collaboration means adapted to establish a collaboration session with the remainder of said plurality of nodes via a computer network;
■ model generator adapted to generate an initial model comprising objects associated with content, wherein said content is selected from the group of contents consisting of operating system programs, operating system files, means programs, means files, images, videos and combinations thereof;
■ rendering means adapted to render said initial model to the remainder of said plurality of nodes;
■ content reproducer means cooperating with said rendering means to receive said initial model and further adapted to reproduce the content associated with said initial model; and
■ a delta change processing sub-system comprising:

• delta recorder means adapted to record the modifications made to at least one of the objects of said initial model, wherein said modifications are identified and recorded based on occurrence of predefined events;
• change rendering means adapted to selectively render the modified objects onto at least one of the remainder of said plurality of nodes;
• modification means adapted to modify said initial model and produce modified initial model on at least one of the remainder of said plurality of nodes by replacing the existing objects of said initial model with said modified objects; and

• applicator means cooperating with said modification means to apply the modifications to the content associated with said modified initial model, wherein said modifications to the content are applied on at least one of the remainder of said plurality of nodes.
2. The computer implemented system as claimed in claim 1. wherein said objects contain base level information corresponding to the content said base level information selected from a group consisting of complex data structures, abstract data types, binary tree structures, linked lists, stacks, queues, functions, RGB information, display information and any combinations thereof.
3. The computer implemented system as claimed in claim 1, wherein said rendering means includes first transmission means adapted to transmit said initial model to the remainder of said plurality of nodes.
4. The computer implemented system as claimed in claim 1, wherein said collaboration means includes a node authentication means adapted to authenticate a node prior to establishing said collaboration session.
5. The computer implemented system as claimed in claim 1, wherein said content reproducer means includes first receiving means adapted to receive the transmitted initial model, wherein said initial model is transmitted from a node different from the node receiving said transmitted initial model.
6: The delta change processing subsystem as claimed in claim 1, wherein said change rendering means includes second transmission means adapted to selectively transmit said modified objects to the remainder of said plurality of nodes.
7. The delta change processing subsystem as claimed in claim 1, wherein said modification means includes second receiving means adapted to receive said modified objects transmitted by said second transmission means.
8. The computer implemented system as claimed in claim 1, wherein at any instance, the node rendering said initial model or said modified objects is the host node and the remainder of said plurality of nodes are client nodes.

9. The computer implemented system as claimed in claim 1, wherein said predefined events are
selected from the group of events consisting of on-click event, on-scroll event, on-drag event,
text select event and combinations thereof.
10. A computer implemented method for delta change synchronization, said method comprising
the following steps:
■ providing each of a plurality of nodes with a collaboration means;
■ establishing a collaboration session between said plurality of nodes;
■ making at least one of said plurality of nodes render an initial model onto the remainder of said plurality of nodes;
■ using said initial model to reproduce the content at remainder of said plurality of nodes;
■ recording the modifications made to at least one of the objects of said initial model in a first node based on occurrence of predefined events;
■ selectively rendering the modified objects onto the remainder of said plurality of nodes;
■ modifying said initial model and producing a modified initial model on at least one of the remainder of said plurality of nodes by replacing the existing objects with the modified objects; and
■ applying the modifications to the content associated with said modified initial model.

11. The computer implemented method as claimed in claim 10, wherein the step of making at least one of said plurality of nodes render an initial model to the remainder of said plurality of nodes includes the step of transmitting said initial model from said node to at least one of the remainder of said plurality of nodes.
12. The computer implemented method as claimed in claim 10, wherein the step of using said initial model to reproduce the content on at least one of the remainder of said plurality of nodes

includes the step of receiving the transmitted initial model on at least one of the remainder of said plurality of nodes.
13. The computer implemented method as claimed in claim 10. wherein the step of selectively rendering the modified objects onto the remainder of said plurality of nodes includes the step of selectively transmitting said modified objects to the remainder of said plurality of nodes.
14. The computer implemented method as claimed in claim 10, wherein the step of modifying said initial model includes the step of receiving said modified objects at the remainder of said plurality of nodes.

Documents

Application Documents

# Name Date
1 3148-MUM-2010- AFR.pdf 2023-02-17
1 3148-MUM-2010-FORM 26(26-11-2010).pdf 2010-11-26
2 3148-MUM-2010-AbandonedLetter.pdf 2018-10-31
2 3148-MUM-2010-FORM 1(26-11-2010).pdf 2010-11-26
3 3148-MUM-2010-CORRESPONDENCE(26-11-2010).pdf 2010-11-26
3 3148-MUM-2010-ABSTRACT(8-11-2011).pdf 2018-08-10
4 Other Patent Document [07-10-2016(online)].pdf 2016-10-07
4 3148-MUM-2010-CLAIMS(8-11-2011).pdf 2018-08-10
5 3148-MUM-2010-FORM 3 [16-10-2017(online)].pdf_11.pdf 2017-10-16
5 3148-MUM-2010-CORRESPONDENCE(2-12-2011).pdf 2018-08-10
6 3148-MUM-2010-FORM 3 [16-10-2017(online)].pdf 2017-10-16
6 3148-MUM-2010-CORRESPONDENCE(7-10-2013).pdf 2018-08-10
7 ABSTRACT 1.jpg 2018-08-10
7 3148-MUM-2010-CORRESPONDENCE(8-11-2011).pdf 2018-08-10
8 3148-MUM-2010-FORM 5(8-11-2011).pdf 2018-08-10
8 3148-MUM-2010-CORRESPONDENCE(9-6-2011).pdf 2018-08-10
9 3148-MUM-2010-Correspondence-050815.pdf 2018-08-10
9 3148-mum-2010-form 3.pdf 2018-08-10
10 3148-mum-2010-correspondence.pdf 2018-08-10
10 3148-MUM-2010-Form 3-050815.pdf 2018-08-10
11 3148-MUM-2010-DESCRIPTION(COMPLETE)-(8-11-2011).pdf 2018-08-10
11 3148-MUM-2010-FORM 3(9-6-2011).pdf 2018-08-10
12 3148-mum-2010-description(provisional).pdf 2018-08-10
12 3148-MUM-2010-FORM 3(7-10-2013).pdf 2018-08-10
13 3148-MUM-2010-DRAWING(8-11-2011).pdf 2018-08-10
13 3148-mum-2010-form 2.pdf 2018-08-10
14 3148-mum-2010-drawing.pdf 2018-08-10
14 3148-mum-2010-form 2(title page).pdf 2018-08-10
15 3148-MUM-2010-FER.pdf 2018-08-10
15 3148-MUM-2010-FORM 2(TITLE PAGE)-(8-11-2011).pdf 2018-08-10
16 3148-mum-2010-form 1.pdf 2018-08-10
16 3148-MUM-2010-FORM 2(8-11-2011).pdf 2018-08-10
17 3148-MUM-2010-FORM 18(2-12-2011).pdf 2018-08-10
18 3148-MUM-2010-FORM 2(8-11-2011).pdf 2018-08-10
18 3148-mum-2010-form 1.pdf 2018-08-10
19 3148-MUM-2010-FER.pdf 2018-08-10
19 3148-MUM-2010-FORM 2(TITLE PAGE)-(8-11-2011).pdf 2018-08-10
20 3148-mum-2010-drawing.pdf 2018-08-10
20 3148-mum-2010-form 2(title page).pdf 2018-08-10
21 3148-MUM-2010-DRAWING(8-11-2011).pdf 2018-08-10
21 3148-mum-2010-form 2.pdf 2018-08-10
22 3148-mum-2010-description(provisional).pdf 2018-08-10
22 3148-MUM-2010-FORM 3(7-10-2013).pdf 2018-08-10
23 3148-MUM-2010-DESCRIPTION(COMPLETE)-(8-11-2011).pdf 2018-08-10
23 3148-MUM-2010-FORM 3(9-6-2011).pdf 2018-08-10
24 3148-MUM-2010-Form 3-050815.pdf 2018-08-10
24 3148-mum-2010-correspondence.pdf 2018-08-10
25 3148-MUM-2010-Correspondence-050815.pdf 2018-08-10
25 3148-mum-2010-form 3.pdf 2018-08-10
26 3148-MUM-2010-CORRESPONDENCE(9-6-2011).pdf 2018-08-10
26 3148-MUM-2010-FORM 5(8-11-2011).pdf 2018-08-10
27 3148-MUM-2010-CORRESPONDENCE(8-11-2011).pdf 2018-08-10
27 ABSTRACT 1.jpg 2018-08-10
28 3148-MUM-2010-CORRESPONDENCE(7-10-2013).pdf 2018-08-10
28 3148-MUM-2010-FORM 3 [16-10-2017(online)].pdf 2017-10-16
29 3148-MUM-2010-CORRESPONDENCE(2-12-2011).pdf 2018-08-10
29 3148-MUM-2010-FORM 3 [16-10-2017(online)].pdf_11.pdf 2017-10-16
30 3148-MUM-2010-CLAIMS(8-11-2011).pdf 2018-08-10
30 Other Patent Document [07-10-2016(online)].pdf 2016-10-07
31 3148-MUM-2010-CORRESPONDENCE(26-11-2010).pdf 2010-11-26
31 3148-MUM-2010-ABSTRACT(8-11-2011).pdf 2018-08-10
32 3148-MUM-2010-FORM 1(26-11-2010).pdf 2010-11-26
32 3148-MUM-2010-AbandonedLetter.pdf 2018-10-31
33 3148-MUM-2010-FORM 26(26-11-2010).pdf 2010-11-26
33 3148-MUM-2010- AFR.pdf 2023-02-17

Search Strategy

1 3148_30-10-2017.pdf