Patent ID: 8073812
Filing Date: 2011-12-06
Classification: G06Q

Abstract:
1. At a computer system, the computer system communicatively coupled to one or more other computer systems, the computer system and each of the one or more other computer systems collaboratively editing a model, collaborative editing of the model including individually editing local instances of the model at any of the computer systems in accordance with the intent of a corresponding user at any of the computer systems, a method for preserving the intent of an edit entered at one of other computer systems when implementing the edit at the computer system, the method comprising: an act of the computer system receiving a first concrete edit operation, the first concrete edit operation originally applied to a first instance of the model when the first instance of the model was in a specified state, the combination of the first concrete edit operation as applied to the first instance of the model in the specified state representing a first semantic edit operation to the model; an act of the computer system applying the received first concrete edit operation to a local instance of the model at the computer system to edit the local instance of the model; an act of the computer system receiving a second concrete edit operation from one of the other computer systems subsequent to applying the first concrete edit operation to the local instance of the model, the second concrete edit operation originally applied to a second instance of the model when the second instance of the model was a state that lacked knowledge of the first edit, the combination of the second concrete edit operation as applied to the second instance of the model in the specified state representing a second semantic edit operation to the model; an act of determining the position of the first semantic edit operation relative to the position of the second semantic edit operation in a global ordering of semantic edit operations for collaboratively editing the model; an act of appropriately transforming the received second concrete edit operation into a derived second concrete edit operation to apply to the local instance of model at the computer system based on the determined position of the first semantic edit operation relative to the position of the second semantic edit operation in a global ordering; and an act of the computer system applying the derived second concrete edit operation to the local instance of the model to appropriately reflect the collaborative editing of the model in accordance with the global ordering of semantic operations so as to increase the likelihood of the received first and second concrete edit operations causing the local instance of the model to transition into the same state as instances of the model at the one or more other computer systems.