Most conflict resolution is managed as part of the process of Shepherding, and involves special shepherds called resolvers.
Resolvers have the responsibility of resolving u-form conflicts (either manually or automatically) and are likely to use business rules in the process.
As an example, for a ”person” u-form that conflicts on an e-mail address attribute, the rule might stipulate resolution by making the new attribute value a list of all the conflicted e-mail addresses, since many people have more than one e-mail address.
Resolvers can be invoked in different ways:
-
Synchronously by the replicator to resolve conflicts immediately.
-
Asynchronously by queuing conflicted u-forms for later resolution.
-
Autonomously by agents that monitor a venue for conflicts.
-
By the consumer of the u-form data.
