Browse Prior Art Database

Object-Oriented Message Queue

IP.com Disclosure Number: IPCOM000104987D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 76K

Publishing Venue

IBM

Related People

Shan, YP: AUTHOR

Abstract

Disclosed is a high level concurrency control mechanism that seamlessly integrates with the object-oriented (OO) messaging paradigm. The mechanism accomplishes this by providing an OO message queue as a natural extension of the normal messaging scheme. Two new objects are introduced to provide this function; an OO message queue object and a message object.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Object-Oriented Message Queue

      Disclosed is a high level concurrency control mechanism that
seamlessly integrates with the object-oriented (OO) messaging
paradigm.  The mechanism accomplishes this by providing an OO message
queue as a natural extension of the normal messaging scheme.  Two new
objects are introduced to provide this function; an OO message queue
object and a message object.

      The OO message queue object provides the basic messaging
queuing function.  An object that wants to control the scheduling of
incoming requests would create a corresponding OO message queue
object.  This OO message queue object would provide the same message
protocols as the original object but would "remember" (queue),
instead of execute, the messages that are sent to it.  When receiving
a request, the queue object would create a message object and store
it in an internal queue (see below for a further description of
message object).  The original object then controls the concurrency
by manipulating the queue.

      An example of an OO ATM message queue is illustrated in Fig. 1.
The original ATM object (not shown in Fig. 1) has two services,
"deposit()" and withdraw()".  The OO message queue of the original
ATM object exports the same two methods.  When receiving a request
(say "deposit()"), it creates a message object (for "deposit()") and
stores the object in its internal queue.

      A "next" operation is provided to de-queue message objects in a
first-in/first-out order.  If the internal queue is empty, the "next"
operation blocks the sender and waits for new messages to arrive.
Other querying operations and operations that do not block are also
supported.  All operations on the OO message queue that can change
its state are guaranteed to be atomic.

      The Interface Description Language (IDL) for the Object Request
Broker (ORB) would be extended to support the specification of a
queue.  Any OR...