EP0251584A2

A synchronization service for a distributed operating system or the like.

Abstract

A synchronization service which can be incorporated into a distributed operating system as a shared service. It allows the realization of different custom-built synchronization strategies for different applications. This approach is based on defining a general set of application-independent synchronization primitives. These are provided by the distributed operating system in the form of a synchronization service. By themselves the individual primities are insuffient to provide synchronization. However, they can be combined in different ways to realize customized synchronization strategies. This leaves the ultimate responsibility for synchronization with the application, but in a much simplified form. Application programs can combine these primitives to construct the most suitable form of synchronization.

EP0251584A2, drawing sheet 1
Sheet 1 of 16

Term

Term ended

Projected expiry passed 18 June 2007, 19.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

21 claims: 5 independent, 16 dependent

  1. 1
    A synchronization service [10] for use with a computer having a distributed operating system, to allow the construction of a customized synchronization scheme, for synchronizing the constituent portions of a distributed program, said service comprising:a general set of application-independent synchronization primitives, whereby the construction of said customized synchronization scheme is achieved by the selective implementation of said application-independent synchronization primitives.
  2. 5
    A synchronization service [10] for use with a computer having an operating system [15] distributed over a plurality of processing elements [12], to allow the construction of a customized synchronization scheme, for synchronizing the constituent portions [18] of a distributed program, said service comprising:a common synchronization master control means [13];a synchronization agent means [14] for each processing element;a plurality of application program components [18], each component located on a different processing element, each said component having associated therewith a member agent [11], said member agent being a program for interfacing with said synchronization agent means, and said synchronization agent means interfacing between said master control means and said member agent, whereby a customized synchronization scheme can be constructed based upon a general set of application-independent synchronization primitives contained in both said synchronization agent means [14] and said member agent [11] and accessed via said synchronization agent means.
  3. 8
    A synchronization service [10] for use with a computer having an operating system [15] distributed over a plurality of processing elements, to allow the construction of a customized synchronization scheme, for synchronizing the constituent component of a distributed program, said service [10] comprising the steps of:a) joining a program component [18] on a first processing element [12] to a group of existing program components [18] on at least a second processing element [12] so that each of the existing components is aware of the presence and location of the joining components;b) informing each member of a group of physically distributed program components when one or more components which are members of said group, depart from it;c) selecting, as a distinguished member, one program component from a group of distributed program components such that, within said group, there is never more than one said distinguished member;and d) providing mutually exclusive rights to said group of distributed program components such that no more than one said component can appropriate a given right at any time.
  4. 14
    A synchronization service [10], for use with a computer having an operating system [15] distributed over a plurality of processing elements [12], to allow the construction of customized synchronization schemes for synchronizing the constituent components [18] of a distributed program, said service comprising, as required, the steps of:a) establishing a synchronization group for said distributed program, said group comprising at least one distributed program component [18];b) joining a program component [18] to said group of existing program components so that each of the components is aware of the presence and the location of all the other components in said group;c) informing each member of said group of distributed program components when one or more components which are members of said group, depart from it;d) selecting, as a distinguished member for said group, one program component from said group of distributed program components such that, within said group, there is never more than one said distinguished member;and e) providing mutually exclusive rights to said group of distributed program components such that no more than one said component can appropriate a given right at any time.
  5. 19
    A synchronization service [10], for use with a computer having an operating system [15] distributed over a plurality of processing elements [12], to allow the construction of customized synchronization schemes for synchronizing the constituent components [18] of a distributed program, said service including a synchronization master control [13] comprising:master control means [21] for activating said synchronization service;polling means [22] for polling the processing elements [12] associated with said components of said distributed program so as to monitor the status of said processing element;control means [24] for joining new members [18] to said group, and for handling departures of members [18] from said group;and a database means [16] containing information representative of the current state of said synchronization service at a given point in time.