System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
First Claim
1. An inter-process communications arrangement comprising:
- a synchronous communications path segment for communicating with a first process of a pair of communicating processes within a single processor, includinga shared-memory message buffer for temporarily storing a message being communicated from the first process, anda semaphore means for creating a critical region around the shared-memory message buffer while a message is being stored into and retrieved from the shared-memory message buffer;
an asynchronous communications path segment for communicating with a second process of the pair, includinga shared-memory message queue for temporarily storing the message being communicated to the second process, having a read pointer indicating from where in the shared-memory message queue is to be retrieved the message being communicated to the second process and a write pointer indicating where in the shared-memory message queue is to be stored the message being communicated to the second process, anda signals means for giving notice of presence of the message in the shared-memory message queue; and
means for interconnecting the synchronous and the asynchronous communications path segments to form a communications path extending between the processes of the pair, includingmeans for transferring the message being communicated from the first process from the shared-memory message buffer into the shared-memory message queue.
3 Assignments
0 Petitions
Accused Products
Abstract
To overcome the lack of support in time-sharing and uniprocessor operating systems such as the UNIX® operating system for real-time and multiprocessor applications, there is provided an asynchronous inter-process communications capability that can be grafted onto the operating systems. Communicating processes (100, 103) communicate via datagram messages through logical asynchronous inter-process communications links (110) each having a synchronous segment (101) and an asynchronous segment (102). The links include a message-serving hub process (11) that communicates in a synchronous, buffer (302) and semaphore (300)-based, manner with processes (100) that are message senders, and communicates in an asynchronous, queue (602) and signals (600)-based, manner with processes (103) that are message destinations. The hub process may be implemented at any process level of the operating system.
-
Citations
12 Claims
-
1. An inter-process communications arrangement comprising:
-
a synchronous communications path segment for communicating with a first process of a pair of communicating processes within a single processor, including a shared-memory message buffer for temporarily storing a message being communicated from the first process, and a semaphore means for creating a critical region around the shared-memory message buffer while a message is being stored into and retrieved from the shared-memory message buffer; an asynchronous communications path segment for communicating with a second process of the pair, including a shared-memory message queue for temporarily storing the message being communicated to the second process, having a read pointer indicating from where in the shared-memory message queue is to be retrieved the message being communicated to the second process and a write pointer indicating where in the shared-memory message queue is to be stored the message being communicated to the second process, and a signals means for giving notice of presence of the message in the shared-memory message queue; and means for interconnecting the synchronous and the asynchronous communications path segments to form a communications path extending between the processes of the pair, including means for transferring the message being communicated from the first process from the shared-memory message buffer into the shared-memory message queue. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An inter-process communications method comprising the steps of:
-
synchronously communicating with a first process of a pair of communicating processes within a single processor to receive a communication froM the first process for a second process of the pair, including the steps of creating a critical region around a shared-memory message buffer via a semaphore facility, the first process storing the communication in the shared-memory message buffer, and a communications interconnection arrangement retrieving the communication from the shared-memory message buffer; and in response to receipt of the communication, asynchronously communicating with the second process to transfer the received communication to the second process, including the steps of the communications interconnection arrangement storing the retrieved communication at a place in a shared-memory message queue indicated by a write pointer of the shared-memory message queue, indicating presence of the communication in the shared-memory message queue to the second process via a signals facility, and the second process retrieving the communication from the place in the shared-memory message queue indicated by a read pointer of the shared-memory message queue. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification