Method and apparatus for making inter-process procedure calls through shared memory
First Claim
Patent Images
1. A method comprising:
- receiving a request from a client at a server to make an inter-process procedure call;
allocating, at the server, a section of shared memory for the inter-process procedure call;
acquiring a lock, by the server, on the section of shared memory;
determining, by the server, whether a flag indicating a completion of the inter-process procedure call has been cleared by the client;
in response to the flag not being cleared,releasing the lock, by the server;
waiting for a predetermined amount of time, by the server; and
reacquiring the lock, by the server; and
in response to the flag being cleared, processing the inter-process procedure call by;
retrieving, by the server, parameters stored by the client from the section of shared memory;
executing, by the server, the inter-process procedure call;
storing, by the server, results of the inter-process procedure call in the section of shared memory;
setting the flag, by the server, to indicate the completion of the inter-process procedure call; and
releasing the lock, by the server.
0 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that facilitates making an inter-process procedure call through a shared memory that is shared between a client process and a server process, wherein the client makes the inter-process procedure call as if the client is making a local procedure call, but the procedure call actually executes on the server. The system operates by an Application Programming Interface (API) to allow the client to make an inter-process procedure call. The system then allocates a section of the shared memory for the data structure parameters of the inter-process procedure call.
8 Citations
21 Claims
-
1. A method comprising:
-
receiving a request from a client at a server to make an inter-process procedure call; allocating, at the server, a section of shared memory for the inter-process procedure call; acquiring a lock, by the server, on the section of shared memory; determining, by the server, whether a flag indicating a completion of the inter-process procedure call has been cleared by the client; in response to the flag not being cleared, releasing the lock, by the server; waiting for a predetermined amount of time, by the server; and reacquiring the lock, by the server; and in response to the flag being cleared, processing the inter-process procedure call by; retrieving, by the server, parameters stored by the client from the section of shared memory; executing, by the server, the inter-process procedure call; storing, by the server, results of the inter-process procedure call in the section of shared memory; setting the flag, by the server, to indicate the completion of the inter-process procedure call; and releasing the lock, by the server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium storing instructions which when executed by a computer cause the computer to perform a method, the method comprising:
-
receiving a request from a client at a server to make an inter-process procedure call; allocating, at the server, a section of shared memory for the inter-process procedure call; acquiring a lock, by the server, on the section of shared memory; determining, by the server, whether a flag indicating a completion of the inter-process procedure call has been cleared by the client; in response to the flag not being cleared, releasing the lock, by the server; waiting for a predetermined amount of time, by the server; and reacquiring the lock, by the server; and in response to the flag being cleared, processing the inter-process procedure call by; retrieving, by the server, parameters stored by the client from the section of shared memory; executing, by the server, the inter-process procedure call; storing, by the server, results of the inter-process procedure call in the section of shared memory; setting the flag, by the server, to indicate the completion of the inter-process procedure call; and releasing the lock, by the server. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system, comprising:
-
a processor; a shared memory; a receiving mechanism coupled to the processor and configured to receive a request from a client process of a client at a server process of a server to make an inter-process procedure call; a memory allocation mechanism, at the server, configured to allocate a section of the shared memory for the inter-process procedure call; a lock acquisition/release mechanism configured to acquire/release a lock on the section of shared memory; a determining mechanism configured to determine whether a flag indicating a completion of the inter-process procedure call has been cleared by the client process, wherein in response to the flag not being cleared, the lock acquisition/release mechanism is configured to; release the lock, by the server process; wait for a predetermined amount of time, by the server process; and reacquire the lock, by the server process; a processing mechanism configured to process the inter-process procedure call on the server, which comprises; a parameter retrieval mechanism configured to retrieve parameters stored by the client process from the section of shared memory in response to the flag being cleared; an execution mechanism configured to execute the inter-process procedure call; a flag-setting mechanism configured to set a flag to indicate that the server process has completed processing the inter-process procedure call; and a result-storing mechanism configured to store results of the inter-process procedure call in the section of shared memory; and wherein the lock acquisition/release mechanism is further configured to release the lock, by the server process. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification