a) Request broker

The concurrency inherent to distribution may need to be simulated, in the scope of every process within which several operations are simultaneously active. A request broker (to borrow the CORBA terminology; Meyer used dispatcher; I formerly used scheduler) must then be used to select one from all operations that are ready to proceed.

The interface between operations and the broker only depends on the broker, not on the type of the operations. An existing broker, such as e.g. the X main loop, may be used. An interface to the broker is only needed at the lowest level, i.e. for instantiable operation classes: abstract operations, actually defining the application domain types, do not need any. Therefore, the broker remains hidden and will be ignored in the following sections.

Note: This is not to say that the choice of the broker is indifferent: clearly, a broker which would accept registrations but never actually schedule any operation would not be satisfying for many implementation. A non-preemptive FIFO queue (first-in, first-out) with a bounded delay is an example of a sufficient acceptable specification.

Table of contents


Marc Girod
Last modified: Sat Feb 28 14:25:21 EET 1998