Patent ID: 6470398
Filing Date: 2002-10-22
Classification: G06F

Abstract:
A process for establishing interprocess communication in a distributed computing environment including a plurality of processing units each having an associated, non-shared memory space, the communication to be established between a user process executed by a first processing unit and residing in a first memory space and an input/output (I/O) process executed by a second processing unit and residing in a second memory space, the first and second processing units being communicatively coupled via a communication channel, the process comprising the steps of:the user process calling a system function for requesting a connection with the I/O process and for requesting notification of occurrence of one or more event at the second memory space, wherein the user process may become dormant if the requested connection is not immediately ready; creating an agent residing in the first memory space, said agent being responsive to the system function call, and operative to initiate creation of a first data structure to reside in the first memory space, the first data structure for facilitating access to associated data for the purpose of interprocess communication, said agent also being operative to store within said first memory space outstanding request information indicating events for which requested notifications are outstanding; creating a second data structure residing in the second memory space, said second data structure for facilitating access to associated data for the purpose of interprocess communication; said agent being further operative to perform the steps of, receiving a new request for notification of a specified event, comparing said new request for notification of a specified event against said outstanding request information, determining whether a request for notification of said specified event is outstanding, and if no request for notification of said specified event is outstanding, sending a request message to the I/O process via the communication channel for the purpose of requesting notification of the occurrence of said specified event, whereby the number of messages transmitted via the communication channel is reduced by not sending duplicate requests for notification to the I/O process; said agent receiving a notification message indicative of the occurrence of the specified event from said second memory space, said agent being further operative to communicate the received notification to said user process, and to wake up said user process if said user process is currently dormant.