CodoxEngine (CE)
The CodoxEngine provides comprehensive solutions to complex distributed collaboration problems.
The CodoxEngine is empowered
by state-of-the-art Operational Transformation (OT) (another good reference) and has the following key features:
-
Anytime collaboration
Supports both real-time and non-real-time collaboration seamlessly.
-
Lock-free
Works without using conventional locks.
-
Responsive and non-blocking
Responds to local user operations immediately without blocking users.
-
Latency-hiding
Masks network communication latency and works seamlessly in high latency networks (Internet) as well as low latency networks (local-area networks).
-
Unconstrained work
Supports users to work on shared documents freely without any restriction.
-
Fine-grained concurrency
Supports concurrent manipulation of shared objects, down to the granularity of a
single text character, a single line, etc.
-
Intention-preserving consistency maintenance
Maintains data consistency and preserves operation intention in the face of arbitrary concurrency and conflict.
-
Any-undo capability
Supports users to undo any operation at any time for error-recovery, backtracking, and exploration.
-
Automatic merging
Supports automatic merging of concurrent changes to shared documents, and eliminates the complication for users to create, exchange (by email), and manually merge multiple document versions.
-
Work-preserving conflict resolution
Supports a range of conflict resolution strategies for meeting diverse collaboration needs, and preserves all collaborative work in the face of conflict.
-
Flexible interaction control
Supports multiple modes of group interaction, from concurrent and free interaction to sequential and synchronized interaction, and allows users to customize interaction modes according to their task nature, organizational structure, or roles.
-
Real-time workspace awareness
Supports up-to-the-moment and detailed knowledge of remote collaborators' activities within the workspace by a comprehensive set of awareness widgets (e.g. tele-pointers, radar views, audio/visual cues).
-
Flexible document sharing and collaborative session management
Supports document sharing via private, corporate, or cloud-based repositories, and
session management via peer-to-peer or server-based protocols.
Transparent Adaptation (TA)
Transparent Adaptation provides collaborative system reference architecture and design techniques for supporting
efficient development of advanced collaborative applications with cutting-edge collaboration capabilities and rich conventional functionalities.
TA reference architecture
The architecture consists of three components:
Single-user Application (SA)
The SA provides conventional interface features and functionalities.
The SA can be any commercial-off-the-shelf or new single-user, desktop or web-based applications, and
based on proprietary or open source code.
Collaboration Adaptor (CA)
The CA bridges the SA with the underlying CE via their public Application
Programming Interfaces (API), without the need to access the source code of the SA or the CodoxEngine. The CA is SA-specific.
CodoxEngine (CE)
The CE provides advanced collaboration capabilities,
such as consistency maintenance, conflict resolution, group undo, group awareness, interaction control, etc.
The CE is generic and reusable for powering different SAs.
Transparent and function-preserving integration technologies
The integration technologies provide solutions for
seamless integration of a wide range of single-user applications and the CodoxEngine, without making any change
to the source code but preserving all functionalities of the original single-user application.
The TA reference architecture is grounded on an important insight that collaborative systems
contain two orthogonal sets of functions:
conventional and collaborative functions, which can be most naturally and effectively supported in separate
functional components and integrated by a bridging component.
The transparent and function-preserving integration technologies provide solutions for
seamless integration of conventional functions (in the single-user application) and collaborative functions (in the CodoxEngine).
With the CodoxEngine and Transparent Adaptation technologies, the task of building an advanced collaborative application is reduced into the task of designing
and implementing a collaboration adaptor for the specific single-user application, thus avoiding
reinventing complex collaboration technologies and comprehensive conventional functionalities.