US2006101473A1PendingUtilityA1

System, device, and method for interprocessor communication in a computer system

Individually held — no corporate assignee on recordPriority: Aug 17, 1999Filed: Dec 20, 2005Published: May 11, 2006
Est. expiryAug 17, 2019(expired)· nominal 20-yr term from priority
G06F 9/546
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system, device, and method for interprocessor communication in a computer system utilizes a special Message Passing Service (MPS) to provide interprocessor communications. The MPS enables a client application running on one processor in a computer to communicate with a target application running a different processor in the same or a different computer. In order for the client application to communicate with the target application, the client application establishes a session to the target application over an existing communication link using the MPS. The MPS provides for both synchronous and asynchronous communication services. When the client application establishes the session to the target application, the client application specifies, among other things, a “callback” routine. The MPS invokes the “callback” routine to report certain asynchronous events to the client application. The MPS blocks the client application during certain synchronous operations so that the client application does not proceed until the synchronous operation is completed.

Claims

exact text as granted — not AI-modified
1 . A hierarchy of device drivers for providing communication services between a client application in a first processor and at least one target application in a second processor comprising: 
 a communication manager driver for establishing a communication conduit between the first and second processor; and    a message passing service, implemented as a layered device driver above the communication manager driver operably coupled to open a message passing service session over the communication conduit with any of a plurality of target applications that have an open message passing session on the communication conduit and operably coupled to close the message passing service session.    
   
   
       2 . The hierarchy o device drivers of  claim 1  wherein the message passing service assigns a unique name to a memory location upon opening the message passing service session.  
   
   
       3 . The hierarchy of device drivers of  claim 2  wherein the message passing service assigns the unique name based upon a mailbox name and a domain name provided by the client application.  
   
   
       4 . The hierarchy of device drivers of  claim 1  wherein the message passing service further comprises: 
 application blocking logic operably coupled to block and unblock the client application for supporting synchronous communication services for the client application; and    asynchronous signaling logic operably coupled to notify the client application of asynchronous events for supporting asynchronous communication services for the client application.    
   
   
       5 . The hierarchy of  claim 4 , wherein the message passing service further comprises: 
 session control logic operably coupled to open and close a message passing service session;    synchronous message passing logic operably coupled to provide synchronous communication services for the client application over the message passing service session using the application blocking logic; and    asynchronous message passing logic operably coupled to provide asynchronous communication services for the client application over the message passing service session using the asynchronous signaling logic.    
   
   
       6 . The hierarchy of  claim 5 , wherein the synchronous message passing logic comprises synchronous message sending logic operably coupled to block the client application using the application blocking logic upon sending a synchronous message to one of the at least one target applications over the message passing service session and unblock the client application using the application blocking logic upon receiving a confirmation from the one of the at least one target applications over the message passing service session.  
   
   
       7 . The hierarchy of  claim 5 , wherein the synchronous message passing logic comprises synchronous message receiving logic operably coupled to block the client application using the application blocking logic if a synchronous message is unavailable for the client application.  
   
   
       8 . The hierarchy of  claim 7 , wherein the synchronous message receiving logic is operably coupled to unblock the client application using the application blocking logic upon receiving a synchronous message for the client application from one of the at least one target applications over the message passing service session.  
   
   
       9 . The hierarchy of  claim 5 , wherein the asynchronous message passing logic comprises asynchronous message sending logic operably coupled to send an asynchronous message to one of the at least one target applications and notify the client application via the asynchronous signaling logic upon receiving a confirmation from one of the at least one target applications over the message passing service session.  
   
   
       10 . The hierarchy of  claim 4 , wherein the asynchronous signaling logic comprises a “callback” routine that is provided to the message passing service by the client application.  
   
   
       11 . The hierarchy of  claim 10 , wherein the asynchronous signaling logic is operably coupled to invoke the “callback” routine when an asynchronous event is available for the client application.  
   
   
       12 . The hierarchy of  claim 1 , wherein said first processor is a storage processor for operation in a storage unit.  
   
   
       13 . A device comprising: 
 a message passing service for providing communication services between a client application and a plurality of target applications having open message passing sessions on a conduit between a first processor and a second processor, wherein the message passing service includes: 
 application blocking logic operably coupled to block and unblock the client application for supporting synchronous communication services for the client application;  
 asynchronous signaling logic operably coupled to notify the client application of asynchronous events for supporting asynchronous communication services for the client application; and  
 session control logic operably coupled to open a message passing session over the conduit to allow communications with any of the plurality of target applications that have an open message passing session on the conduit and operably coupled to close the message passing service session.  
   
   
   
       14 . The device of  claim 13 , wherein the message passing service further includes: 
 synchronous message passing logic operably coupled to provide synchronous communication services for the client application over the message passing service session using the application blocking logic; and    asynchronous message passing logic operably coupled to provide asynchronous communication services for the client application over the message passing service session using the asynchronous signaling logic.    
   
   
       15 . The device of  claim 14 , wherein the synchronous message passing logic comprises synchronous message receiving logic operably coupled to block the client application using the application blocking logic if a synchronous message is unavailable for the client application.  
   
   
       16 . The device of  claim 15 , wherein the synchronous message receiving logic is operably coupled to unblock the client application using the application blocking logic upon receiving a synchronous message for the client application from one of the at least one target applications over the message passing service session.  
   
   
       17 . The device of  claim 13 , wherein the asynchronous signaling logic comprises a “callback” routine that is provided to the message passing service by the client application.  
   
   
       18 . The device of  claim 17 , wherein the asynchronous signaling logic is operably coupled to invoke the “callback” routine when an asynchronous event is available for the client application.  
   
   
       19 . The device of  claim 13 , wherein said device is a storage processor for operation in a storage unit.  
   
   
       20 . A program product comprising: 
 a computer readable medium having embodied therein a message passing service program for providing communication services between a client application and a plurality of target applications having open message passing sessions on a conduit between a first processor and a second processor, the message passing service program including: 
 application blocking logic programmed to block and unblock the client application for supporting synchronous communication services for the client application;  
 asynchronous signaling logic programmed to notify the client application of asynchronous events for supporting asynchronous communication services for the client application; and  
 session control logic operably coupled to open a message passing session over the conduit to allow communications with any of the plurality of target applications that have an open message passing session on the conduit and operably coupled to close the message passing service session.  
   
   
   
       21 . In a computer system having a plurality of interconnected processors, a message passing method for providing asynchronous communication services between a client application running on a first processor and a first target application running on a second processor, the message passing method comprising: 
 providing a communication link between the first processor and the second processor, said link supporting communications with a plurality of target applications;    opening a session over the communication link between the client application and the first target application provided that the first target application has an open message passing session on the communication link;    receiving a request from the client application for sending an asynchronous message to the first target application;    sending the asynchronous message to the first target application over the session;    receiving a confirmation from the first target application over the session; and    notifying the client application using an asynchronous signaling mechanism.    
   
   
       22 . The message passing method of  claim 21 , wherein the asynchronous signaling mechanism comprises a “callback” routine provided by the client application.  
   
   
       23 . The message passing method of  claim 22 , wherein notifying the client application comprises invoking the “callback” routine.  
   
   
       24 . The message passing method of  claim 21 , further comprising: 
 receiving an asynchronous message from the first target application; and    notifying the client application using the asynchronous signaling mechanism.    
   
   
       25 . The message passing method of  claim 21 , further comprising: 
 closing the session; and    notifying the client application using the asynchronous signaling mechanism.

Join the waitlist — get patent alerts

Track US2006101473A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.