Browse Prior Art Database

Non-Blocking Message Queue Support in Distributed Computing Environment

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

Publishing Venue

IBM

Related People

Aditham, R: AUTHOR [+2]

Abstract

Disclosed is a mechanism to enable fast communication among portions of a distributed application running on the same machine. To achieve fast communication, NON-BLOCKING MESSAGE QUEUE support has been added to DCE threads.

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

Non-Blocking Message Queue Support in Distributed Computing Environment

      Disclosed is a mechanism to enable fast communication among
portions of a distributed application running on the same machine.
To achieve fast communication, NON-BLOCKING MESSAGE QUEUE support has
been added to DCE threads.

      System V message queues have a property that a process
performing a send or receive is blocked until the send or receive can
be satisfied.  In a threaded environment, instead of blocking a
process only a thread is blocked, i.e., if a message send or receive
cannot be satisfied for a thread, the thread waits on the operation,
and when signalled (that operation can complete), wakes up and
executes the operation.  To achieve non-blocking message queue
behavior, thread wrappers have been introduced around actual system V
message queue operations.

      The DCE threads Message Queue operations support the same
interface and sementics as sytem V message queue operations, except
that they are high-level routines that take care of all details of
initializing and manipulating message queue data structures in a
threaded environment.  Message queue data structures store
imformation about what threads are waiting on what message queue
operations.

      The distributed application developer uses four high-level
message queue operations in a threaded environment, specifically, a).
cma_msgget, b).  cma_msgsnd, c).  cma_msgrcv, and d).  cma_msgctl.

      cma_msgget:  To create or open a message queue with the
specified key and initialize appropr...