Mechanism and method for communicating between a client and a server by accessing message data in a shared memory
AssigneeGE Aviation Systems LLC
InventorsChristian Reynolds Decker, Troy Stephen Brown, Kevin Brett Chapman
Life of this patent
Estimating the term…
Abstract
A mechanism and method for accessing message data in a shared memory by at least one client, includes an allocation of data in the shared memory, the memory configured in a plurality of buffers, and accessing the data by a client or a server without locking or restricting access to the data.
Claims15
A mechanism for communicating between at least one client and at least one server by accessing message data in a shared memory, comprising:
- an allocation of data in the shared memory into at least one mailslot, the allocation being accessible by a predetermined constant address, and a set of buffers for each of the at least one clients for performing transaction requests, and wherein each of the buffers is controllable by either of the respective client or the server;
- the at least one mailslot having references identifying the at least one client and the at least one server;
- the at least one client having an active access pointer that enables the at least one client to directly manipulate message data via a client-controlled buffer;
- and
- the at least one server having an active access pointer that enables the at least one server to directly manipulate the message data via a server-controlled buffer;
- wherein the active access pointers are allocated among buffers using only atomic operations without copying the data at an operating system level.
A method for communicating between at least one client and one server by accessing message data in a shared memory, the method comprising:
- allocating data in the shared memory into at least one mailslot;
- assigning a single predetermined address to access each at least one mailslot;
- allocating a number of buffers for each of the at least one clients, each buffer being either client-controllable or server-controllable, the number of buffers being equal to the number of requested transactions by the respective client;
- and
- allocating a client active access pointer from a client-controlled buffer to change control of the client-controlled buffer to a server-controlled buffer enabling the server to directly manipulate the message data via a server active access pointer;
- wherein the message data is accessed via active access pointers to the buffers without copying the message data at an operating system level.
Dependencies are inferred from the claim text.