Distributed computing often gives rise to complex concurrent and interacting activities. In some cases several concurrent activities may be working together, i.e. cooperating, to solve a given problem; in other cases, the activities may be independent but needing to share common system resources for which they must compete. Many difficulties and limitations occur in the widely advocated objects and (trans)actions model when it is supposed to support cooperating activities. We have introduced previously the concept of coordinated atomic (CA) actions [Xu et al. 1995]; this paper analyzes and examines the derived objects and CA actions model for constructing fault-tolerant distributed systems and providing unified support for both cooperative and competitive concurrency. Our investigation reveals and clarifies several significant problems that have not previously been studied extensively, including the problem of ensuring consistent access to shared objects from a joint action as opposed to a set of independent actions. Conceptual and implementation-related solutions are proposed and illustrated.
翻译:分散的计算往往产生复杂的并行和互动活动,在某些情况下,若干并行活动可能正在共同合作,即合作解决某一问题;在其他情况下,活动可能是独立的,但需要分享共同系统的资源,必须为此竞争;在广泛提倡的目标和(交易)行动模式中,如果应该支持合作活动,就会出现许多困难和限制;我们以前曾提出过协调原子行动的概念[Xu等人,1995年];本文分析和审查为建立容错分布的系统以及为合作和竞争性货币提供统一支持而衍生的物品和CA行动模式;我们的调查揭示并澄清了以前没有广泛研究过的一些重要问题,包括确保从联合行动获得共有物品的一致机会的问题,而不是一套独立行动。提出和说明与概念和执行有关的解决方案。