Guaranteeing the validity of concurrent operations on distributed objects is a key property for ensuring reliability and consistency in distributed systems. Usually, the methods for validating these operations, if present, are wired in the object implementation. In this work, we formalize the notion of a {\em validated object}, decoupling the object operations and properties from the validation procedure. We consider two types of objects, satisfying different levels of consistency: the validated {\em totally-ordered} object, offering a total ordering of its operations, and its weaker variant, the validated {\em regular} object. We provide conditions under which it is possible to implement these objects. In particular, we show that crash-tolerant implementations of validated regular objects are always possible in an asynchronous system with a majority of correct processes. However, for validated totally-ordered objects, consensus is always required if a property of the object we introduce in this work, {\em persistent validity,} does not hold. Persistent validity combined with another new property, {\em persistent execution}, allows consensus-free crash-tolerant implementations of validated totally-ordered objects. We demonstrate the utility of validated objects by considering several applications conforming to our formalism.
翻译:保证分布式物体同时运行的有效性是保证分布式系统可靠性和一致性的关键属性。 通常, 验证这些运行的方法( 如果存在的话) 在目标执行中都有电线。 在这项工作中, 我们正式确定一个 yem 验证对象的概念, 将物体操作和属性与验证程序脱钩。 我们考虑两种类型的物体, 满足不同程度的一致性: 经验证的 {em- 完全订购} 对象, 提供其运行的总顺序, 以及其较弱的变异, 被验证的 {em 常规} 对象。 我们为这些物体的实施提供了可能的条件。 特别是, 我们表明, 被验证的常规物体的碰撞容忍性实施总是有可能在一个非同步的系统中, 并且大多数过程都是正确的。 然而, 对于经过验证的完全有序的物体, 如果我们在此工作中引入的物体的属性, 则始终有效, 则始终有效}不维持。 持久性的有效性, 与另一个新的属性, 有效执行}, 允许以协商一致的方式执行经验证的物体。 我们通过考虑几种应用正式的用途来证明经验证的物体的效用。