A computer program product stored on a computer readable storage medium for, when run on a computer, carrying out a method of dispatching client requests for execution by a server object in a heterogeneous object-oriented client/server computing environment, the method comprising the steps of:
- examining the semantics of a request in a request-holding buffer having an input connected to a communications channel which channels the client requests to the apparatus, and an output;
- examining the semantics of each request presently being executed on any of a plurality of parallel execution threads connected to the output of the buffer;
- and
- delaying the request from being dispatched from the buffer to an execution thread if the examined semantics of the requests indicate that such dispatch would cause conflicting access to the server object's resources, thereby allowing for concurrency control to take place without the use of locks.