Messaging Routine Interruption and Synchronization
Abstract
A requesting program makes a first call to a messaging routine. The first call provides at least one request for at least one requested messaging operation to be performed by the messaging routine. The requesting program is permitted to continue execution prior to completion of the at least one requested messaging operation rather than blocking in response to the first call. The messaging routine is interrupted prior to completion of the at least one requested messaging operation in response to a second call which is made from the requesting program to a synchronization routine. Calling the synchronization routine has an effect of interrupting any outstanding call to the messaging routine. In some cases, an application program interface containing the synchronization routine has functionality supporting serialization of calls to the messaging routine. The call to the messaging routine is serialized, and execution of the program continues.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A process comprising:
receiving from a requesting program a first call which is made to a messaging routine, the first call providing at least one request for at least one requested messaging operation to be performed by the messaging routine; permitting the requesting program to continue execution prior to completion of the at least one requested messaging operation rather than blocking execution of the requesting program in response to the first call; interrupting the messaging routine prior to completion of the at least one requested messaging operation in response to a second call which is made from the requesting program to a synchronization routine; and wherein calling the synchronization routine has an effect of interrupting any outstanding call to the messaging routine.
2 . The process of claim 1 , wherein the requesting program is an application program.
3 . The process of claim 1 , wherein the requesting program is a kernel program.
4 . The process of claim 1 , wherein the requesting program has at least a first thread and a second thread, the first thread makes the first call, and the second thread makes the second call.
5 . The process of claim 1 , wherein the first call provides a plurality of requests for a plurality of requested messaging operations to be performed by the messaging routine.
6 . The process of claim 1 , wherein the messaging routine has a function signature which complies with a Message Passing Interface Forum specification.
7 . The process of claim 1 , wherein the messaging routine is a completion-awaiting routine of a library.
8 . A computer-readable storage medium configured with data and with instructions that when executed cause one or more processors to perform a process, the process comprising the steps of:
receiving from a requesting program a first call which is made to a messaging routine, the first call providing at least one request for at least one requested messaging operation to be performed by the messaging routine; permitting the requesting program to continue execution prior to completion of the at least one requested messaging operation rather than blocking execution of the requesting program in response to the first call; interrupting the messaging routine prior to completion of the at least one requested messaging operation in response to a second call which is made from the requesting program to a synchronization routine; wherein an application program interface containing the synchronization routine has functionality supporting serialization of calls to the messaging routine.
9 . The storage medium of claim 8 , wherein the requesting program includes at least one of the following: an application program, a kernel program, a multithreaded program.
10 . The storage medium of claim 8 , wherein the first call provides a plurality of requests for a plurality of requested messaging operations to be performed by the messaging routine, and the process further comprises the messaging routine indicating an extent to which the requested messaging operations had completed when the messaging routine was interrupted.
11 . The storage medium of claim 8 , wherein the first call is made by a thread, and the process further comprises associating a callback routine with the at least one request as an asynchronous callback to the thread.
12 . The storage medium of claim 8 , wherein the application program interface containing the synchronization routine is part of a message passing interface library.
13 . The storage medium of claim 8 , wherein the application program interface containing the synchronization routine includes at least one of the following: a non-blocking send routine, a non-blocking receive routine, a non-blocking I/O request routine.
14 . A computer system comprising:
at least one logical processor, each logical processor in operable communication with a memory, the memory comprising at least one physical storage device; at least one program which resides in the memory; a messaging routine which resides in the memory; a synchronization routine which resides in the memory; an application program interface which contains the synchronization routine; and wherein code executes in the system in which the program makes a call to the messaging routine providing at least one request for at least one requested messaging operation to be performed by the messaging routine, the program continues execution prior to completion of the at least one requested messaging operation rather than being blocked by the call to the messaging routine, the program subsequently makes a call to the synchronization routine, which results in an interruption of the messaging routine prior to completion of the at least one requested messaging operation, the call to the messaging routine is serialized, and execution of the program continues.
15 . The system of claim 14 , further comprising a display controlled at least in part by the program, and wherein the system comprises at least one of the following: a cell phone, a mobile phone, a mobile device.
16 . The system of claim 14 , wherein the system comprises a tablet.
17 . The system of claim 14 , wherein the program comprises kernel software.
18 . The system of claim 14 , wherein the messaging routine and the synchronization routine are part of a message passing interface library in the system.
19 . The system of claim 14 , wherein the messaging routine is a first messaging routine, and the synchronization routine utilizes a lock to serialize access to the first messaging routine and at least one other messaging routine in the system.
20 . The system of claim 14 , wherein the system is a multiprocessor system which includes a general purpose processor and also includes at least one of the following: a graphics processor, a signal processor.Join the waitlist — get patent alerts
Track US2015227401A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.