Full length articleA novel CRDT-based synchronization method for real-time collaborative CAD systems☆
Introduction
As the span of networks and distributed systems expanded, a considerable number of real-time collaborative systems have been developed to support real-life collaborative work, such as Google Docs,1 Wikipedia,2 Microsoft Web Apps.3 As one of useful applications for supporting real-world collaborative work, real-time collaborative editing systems have been one of essential and promising fields within CSCW (Computer Supported Cooperative Work) areas [1], [2], [3], [4], [5]. Real-time collaborative editing systems allow a group of geographically dispersed users to simultaneously edit the shared object over the computer network. The shared objects include text [6], xml [7], spreadsheet [8], images [9], [10], [11], [12], [13], [14], [15], 3D mesh [16], [17], [18] and 3D feature-based CAD [19], [20], [21], [22], [23].
Feature-based CAD modeling technique is the mainstream modeling technique of modern CAD systems. Therefore, in context of this research, Co-CAD systems mean feature-based multi-user CAD collaborative environments.
On the one hand, early Co-CAD synchronization approaches have adopted locking mechanisms [20], [24], [25], [26], [27], token-passing approaches [28], [29], [30] or serialization methods [31], [32] to achieve the consistency, which cannot support free collaboration. To achieve good responsiveness, operational transformation technology has been adopted for the consistency maintenance of Co-CAD systems [17], [18], [21], [33]. Nonetheless, there are few technical studies concerning CRDT-based technique for the consistency maintenance of Co-CAD systems [34].
On the other hand, among “Cognitive, collaborative, conceptual and creative…” [35], collaboration is one fundamental characteristic for the next generation of CAD systems [36]. Accordingly, new synchronization mechanism based on CRDT is opening a new way for next generation of Co-CAD systems. Nevertheless, how well CRDT-based synchronization methods for Co-CAD systems could perform remains unknown.
Additionally, from the perspective of collaborative product design, a design model usually involves multiple geographically dispersed designers who are assigned to design different parts simultaneously [20], [37], [38], [39]. However, the design of the critical part requires more experts to share more in-depth knowledge, experience, and skills. Therefore, concurrent design of one part by a multitude of designers should not be neglected in practice [17], [18], [23], [26], [33], [40], [41]. As different experts may have different design intentions for the same part, operation conflicts of the same part inevitably occur. Traditional conflict resolution approaches have some limits in responsiveness, scalability and complexity of geometry transformation [17], [18], [21], [24], [25], [31], [32], [33]. Consequently, new synchronization techniques based on CRDT need to be explored and investigated for Co-CAD systems.
Based on these requirements, a novel CRDT-based synchronization approach for Co-CAD systems is proposed in this paper. Firstly, three operation relations are defined and a feature-based conflict detection mechanism is proposed to detect the three relations. Secondly, under the CRDT framework, a feature-based conflict resolution approach is presented to maintain the consistency for the feature-based CAD model and preserve the intentions for collaborative users. Thirdly, time complexity and space complexity are analyzed in theory. Fourthly, case studies verify the correctness and feasibility of the proposed approach.
This paper is organized as follows. Section 2 gives the related work. Section 3 describes the overall methodology and related definitions. Section 4 proposes a conflict detection mechanism. Section 5 presents a CRDT-based conflict resolution method. Section 6 provides case studies of collaborative designing. Section 7 gives the analysis of time and space complexities. Section 8 compares the proposed approach with previous work in detail. Section 9 discusses the limitations of the proposed approach. Section 10 gives conclusions and the future work.
Section snippets
Related work
For Co-CAD systems, one major challenge is how to guarantee the consistency for the shared CAD model [17]. Early Co-CAD systems have adopted locking mechanisms, serialization methods, token-passing approaches to achieve the coherence among different sites. For the locking mechanisms, Stork et al. [42] proposed an optimistic object locking for the consistency maintenance in commercial CAD systems. Li et al. provided a flexible locking mechanism on the level of feature granularity to ensure the
Three relations of modeling operations
Existing researches have shown that modeling operations of Co-CAD systems are made up of three basic atomic operations: and modification [17], [18]. A creation creates a new feature. A deletion deletes an existing feature. A modification changes the attitude of the feature. Complicated modeling operations can be composed of the above three basic atomic modeling operations.
In real-time Co-CAD systems, conflicts of operations inevitably occur. To explain this concrete conflict
Conflict detection
Algorithm 1 presents the whole conflict detection mechanism, which includes nine detection functions from Algorithm 2, Algorithm 3, Algorithm 4, Algorithm 5, Algorithm 6, Algorithm 7, Algorithm 8, Algorithm 9, Algorithm 10. represents the executed operation and represents the remote operation to be integrated. In the following algorithms, T(MO) represents the topological entity referred by MO and F(MO) represents the target feature of MO.
Algorithm 2, Algorithm 3, Algorithm 4, Algorithm 5
Conflict resolution functions
Algorithm 11 presents how to resolve the dependency-conflict between two modeling operations. represents an executed operation, and represents a remote operation to be executed. If target features of and have the dependency relation, their feature-dependency priorities decide the execution orders (lines 2–5). Otherwise, their identifiers decide the execution orders (lines 7–11). Algorithm 11 DependencyConflictResolve() 1: INPUT: 2: if F() F() then 3: is executed and
Case studies
To verify the correctness and feasibility of the proposed approach, we implement the case studies on Microsoft Windows 10 operating system with Visual studio 2010 and SolidWorks 2016. Assume that three collaborative sites involve in one design task and there exists site1site2site3. represents the j state of site represents the double linked list in site i. shows that MO is a tombstone. We use “–” to link all operations. The collaborative procedure is shown in Fig. 6,
Time complexity
As shown in Algorithm 14, the best-case time complexity of integrating a local operation is as the target modeling operation is searched directly by using the hash table and the unique ID. The worst-case time complexity is , where n is the number of operations in the double linked list. This case only happens at the beginning of a new session. The last operation of the history in the last session should be found by scanning the list from head to tail.
As shown in Algorithm 15, the
Comparison with previous work
Early Co-CAD systems have adopted conflict prevention mechanisms, such as locking mechanisms [20], [26], [27], [42], [43], serialization approaches [31], [32], [44], [45] and token-passing methods [28], [29], [30]. These approaches only allow one-designer to edit the shared model at one time. Different from the above methods, the proposed approach permits multi-designers to edit the shared model at the same time and supports good responsiveness for collaborative designers.
The multi-scale
Limitations
In this paper, we present a novel CRTD-based synchronization mechanism for real-time Co-CAD systems. Although our approach maintains the total ordering modeling history to achieve the consistent design model, there are some limitations to be addressed in future work.
Firstly, the proposed approach adopts state vectors for each modeling operation, therefore, the scalability needs to be improved.
Secondly, the proposed approach can preserve intentions of modeling operations as much as possible. To
Conclusions
This paper proposes a novel CRDT-based synchronization approach for real-time Co-CAD systems. Firstly, three feature-based operation relations are defined, and a feature-based conflict detection mechanism is proposed to detect the three relations. Secondly, a CRDT-based conflict resolution approach is presented to ensure the consistency for the shared CAD model. Thirdly, the time complexity and the space complexity are analyzed in theory. Fourthly, the proposed approach has been implemented and
Acknowledgment
This work is supported by the National Science Foundation of China (Grant No. 61472289 and 61502353) and the National Key Research and Development Project (Grant No. 2016YFC0106305).
References (79)
- et al.
A method and tool for human–human interaction and instant collaboration in CSCW-based CAD
Comput. Ind.
(2006) - et al.
A method for topological entity correspondence in a replicated collaborative cad system
Comput. Ind.
(2009) - et al.
CLAF: solving intention violation of step-wise operations in CAD groupware
Adv. Eng. Inform.
(2010) - et al.
Replicated concurrency control for collaborative feature modelling: a fine granular approach
Comput. Indust.
(2008) - et al.
Feature-based design in a distributed and collaborative environment
Comput. Aided Des.
(2004) - et al.
Cognitive, collaborative, conceptual and creative – four characteristics of the next generation of knowledge-based cad systems: a study in biologically inspired design
Comput. Aided Des.
(2012) - et al.
Fundamentals of next generation cad/e systems
Comput. Aided Des.
(2012) - et al.
a collaborative approach in 3d-cad technology in a multimedia-supported environment
Comput. Ind.
(2003) - et al.
Synchronous collaborative tunnel design based on consistency-preserving multi-scale models
Adv. Eng. Inform.
(2014) - et al.
A framework for collaborative top-down assembly design
Comput. Ind.
(2013)
Collaborative CAD synchronization based on a symmetric and consistent modeling procedure
Symmetry
Ontology-based feature mapping and verification between cad systems
Adv. Eng. Inform.
An ontology-based semantic retrieval approach for heterogeneous 3d cad models
Adv. Eng. Inform.
Automatically generating assembly tolerance types with an ontology-based approach
Comput. Aided Des.
Enriching the semantics of variational geometric constraint data with ontology
Comput. Aided Des.
Selecting a semantic similarity measure for concepts in two different cad model data ontologies
Adv. Eng. Inform.
Supporting selective undo of string-wise operations for collaborative editing systems
Future Gener. Comput. Syst.
A string-wise CRDT algorithm for smart and large-scale collaborative editing systems
Adv. Eng. Inform.
Parallel ant colony optimization on multi-core SIMD CPUs
Future Gener. Comput. Syst.
Protection of intellectual property based on a skeleton model in product design collaboration
Comput. Aided Des.
A framework to design a human-centred adaptive manufacturing system for aging workers
Adv. Eng. Inform.
A local start search algorithm to compute exact hausdorff distance for arbitrary point sets
Pattern Recogn.
Knowledge-based design for assembly in agile manufacturing by using data mining methods
Adv. Eng. Inform.
Concurrency control in groupware systems
Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems
ACM Trans. Comput.-Human Interact. (TOCHI)
Achieving data consistency by contextualization in web-based collaborative applications
ACM Trans. Internet Technol. (TOIT)
Consistency maintenance based on the mark & retrace technique in groupware systems
Wooki: a p2p wiki-based collaborative writing tool
Leveraging single-user applications for multi-user collaboration: the coword approach
Scalable xml collaborative editing with undo
Operational transformation for orthogonal conflict resolution in real-time collaborative 2d editing systems
A distributed algorithm for graphic objects replication in real-time group editors
Consistency maintenance in real-time collaborative graphics editing systems
ACM Trans. Comput.-Human Interact. (TOCHI)
Achieving undo in bitmap-based collaborative graphics editing systems
Semantic consistency maintenance in collaborative graphics design systems
Research on consistency maintenance of the real-time image editing system based on bitmap
Consistency maintenance of do and undo/redo operations in real-time collaborative bitmap editing systems
Cluster Comput.
Comaya: incorporating advanced collaboration capabilities into 3d digital media design tools
Cited by (21)
PS-CRDTs: CRDTs in highly volatile environments
2023, Future Generation Computer SystemsThe multi-user computer-aided design collaborative learning framework
2022, Advanced Engineering InformaticsCitation Excerpt :Designing in a MUCAD environment can be described as an analogy to simultaneous text-editing in a Google Docs file, and the collaborative design principles in MUCAD are also deemed similar to the ones in Minecraft [7]. In order to provide real-time synchronization, MUCAD must be supported by a sophisticated collaborative software architecture system, such as conflict-free replicated data type [8]. Importantly, the MUCAD platform is expected to enhance virtual collaboration and stimulate more innovative ideas during the design process [9,10].
Integrating selective undo of feature-based modeling operations for real-time collaborative CAD systems
2019, Future Generation Computer SystemsCitation Excerpt :As an important element of CSCW (Computer Supported Cooperative Work), collaborative editing systems are necessary in today’s society. Collaborative editing systems support a large number of geographically dispersed users to simultaneously edit the shared documents, such as plain text [8–13], image [14–23], digit media [24–26] and 3D CAD model [27–37]. With the complexity of collaborative products, processes, and CAD data [38–41], collaborative editing systems with complicated objects are open up new ways for next generation of collaborative CAD systems [42].
On the role of generating textual description for design intent communication in feature-based 3D collaborative design
2019, Advanced Engineering InformaticsA Paradigm for Collaborative 3D Editing via List Conflict-free Replicated Data Types
2023, ACM International Conference Proceeding SeriesA Lightweight Approach for Large CAD Models Based on Lazy Loading
2023, Proceedings of the 18th IEEE Conference on Industrial Electronics and Applications, ICIEA 2023