Elsevier

Advanced Engineering Informatics

Volume 38, October 2018, Pages 381-391
Advanced Engineering Informatics

Full length article
A novel CRDT-based synchronization method for real-time collaborative CAD systems

https://doi.org/10.1016/j.aei.2018.08.008Get rights and content

Highlights

  • A novel CRDT-based method to maintain eventual consistency for real-time collaborative CAD systems.

  • A conflict detection mechanism is presented to detect relations of feature-based CAD operations.

  • To ensure the consistency of shared CAD model and preserve the intentions of collaborative designers.

  • Case studies of collaborative modeling procedures verify the proposed method.

Abstract

CRDT (Conflict-free Replicated Data Type) has been proposed as an alternative synchronization mechanism for collaborative text editing systems in recent years. However, CRDT-based synchronization methods for collaborative systems with sophisticated objects, such as collaborative CAD (Co-CAD) systems, are rarely investigated in previous literatures. How well CRDT-based synchronization methods for Co-CAD systems could perform remains unknown. This paper presents a novel CRDT-based synchronization method to maintain eventual consistency for the feature-based CAD model. Firstly, three operation relations are defined as the dependency-conflict relation, the mutual exclusive relation and the compatible relation in context of the feature-based CAD systems. Secondly, a feature-based conflict detection mechanism is proposed to detect the three relations. Thirdly, a feature-based conflict resolution approach under the CRDT framework is presented to solve the conflicts. Fourthly, the time complexity and the space complexity are analyzed in theory. Finally, case studies of collaborative modeling procedures verify the correctness and feasibility of the proposed method.

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: creation,deletion 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. MO1 represents the executed operation and MO2 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. MO1 represents an executed operation, and MO2 represents a remote operation to be executed. If target features of MO1 and MO2 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(MO1MO2)

 1: INPUT: MO1MO2
 2: if F(MO1)  F(MO2) then
 3:  MO2 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 ID[site1]<ID[site2]<ID[site3]. Sji represents the j state of site i,Li 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 O(1) as the target modeling operation is searched directly by using the hash table and the unique ID. The worst-case time complexity is O(n), 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)

  • Y. Wu et al.

    Collaborative CAD synchronization based on a symmetric and consistent modeling procedure

    Symmetry

    (2017)
  • S. Tessier et al.

    Ontology-based feature mapping and verification between cad systems

    Adv. Eng. Inform.

    (2013)
  • F. Qin et al.

    An ontology-based semantic retrieval approach for heterogeneous 3d cad models

    Adv. Eng. Inform.

    (2016)
  • Y. Zhong et al.

    Automatically generating assembly tolerance types with an ontology-based approach

    Comput. Aided Des.

    (2013)
  • W. Lu et al.

    Enriching the semantics of variational geometric constraint data with ontology

    Comput. Aided Des.

    (2015)
  • W. Lu et al.

    Selecting a semantic similarity measure for concepts in two different cad model data ontologies

    Adv. Eng. Inform.

    (2016)
  • X. Lv et al.

    Supporting selective undo of string-wise operations for collaborative editing systems

    Future Gener. Comput. Syst.

    (2018)
  • X. Lv et al.

    A string-wise CRDT algorithm for smart and large-scale collaborative editing systems

    Adv. Eng. Inform.

    (2017)
  • Y. Zhou et al.

    Parallel ant colony optimization on multi-core SIMD CPUs

    Future Gener. Comput. Syst.

    (2018)
  • D. Mun et al.

    Protection of intellectual property based on a skeleton model in product design collaboration

    Comput. Aided Des.

    (2009)
  • M. Peruzzini et al.

    A framework to design a human-centred adaptive manufacturing system for aging workers

    Adv. Eng. Inform.

    (2017)
  • Y. Chen et al.

    A local start search algorithm to compute exact hausdorff distance for arbitrary point sets

    Pattern Recogn.

    (2017)
  • R. Kretschmer et al.

    Knowledge-based design for assembly in agile manufacturing by using data mining methods

    Adv. Eng. Inform.

    (2017)
  • C.A. Ellis et al.

    Concurrency control in groupware systems

  • C. Sun et al.

    Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems

    ACM Trans. Comput.-Human Interact. (TOCHI)

    (1998)
  • H. Shen et al.

    Achieving data consistency by contextualization in web-based collaborative applications

    ACM Trans. Internet Technol. (TOIT)

    (2011)
  • N. Gu et al.

    Consistency maintenance based on the mark & retrace technique in groupware systems

  • S. Weiss et al.

    Wooki: a p2p wiki-based collaborative writing tool

  • S. Xia et al.

    Leveraging single-user applications for multi-user collaboration: the coword approach

  • S. Martin et al.

    Scalable xml collaborative editing with undo

  • C. Sun et al.

    Operational transformation for orthogonal conflict resolution in real-time collaborative 2d editing systems

  • T.P. Moran et al.
    (1995)
  • D. Chen et al.

    A distributed algorithm for graphic objects replication in real-time group editors

  • C. Sun et al.

    Consistency maintenance in real-time collaborative graphics editing systems

    ACM Trans. Comput.-Human Interact. (TOCHI)

    (2002)
  • X. Wang et al.

    Achieving undo in bitmap-based collaborative graphics editing systems

  • B. Jiang et al.

    Semantic consistency maintenance in collaborative graphics design systems

  • S. Wang et al.

    Research on consistency maintenance of the real-time image editing system based on bitmap

  • L. Gao et al.

    Consistency maintenance of do and undo/redo operations in real-time collaborative bitmap editing systems

    Cluster Comput.

    (2016)
  • F. Liu et al.

    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 Systems
    • The multi-user computer-aided design collaborative learning framework

      2022, Advanced Engineering Informatics
      Citation 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 Systems
      Citation 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].

    • A Lightweight Approach for Large CAD Models Based on Lazy Loading

      2023, Proceedings of the 18th IEEE Conference on Industrial Electronics and Applications, ICIEA 2023
    View all citing articles on Scopus

    Fully documented templates are available in the elsarticle package on CTAN.

    View full text