An interprocess communications platform enables individual processes to
request and exchange data in a shared memory space, mediated by a
communications engine. Processes, such as applications or other software
running under an operating system or in a network, register to blocks of
a shared memory space via an administrative memory space which tracks
pointers, handles and other indicators of memory areas populated by
individual processes. When one process requests access to a variable,
pointer or other data generated by another process, the request is
mediated by the communications engine. The communications engine may
locate the target data belonging to the other process in the shared
memory space, via a lookup of relative addressing in a separate
administrative memory space. The communications engine, memory management
objects and other resources may then lock the portion of the shared
memory space allocated to the target process to permit the requesting
process to access the data. Data may therefore be exchange between given
processes while maintaining data integrity, and also may be cached in the
shared memory space or elsewhere by the communications engine to further
increase efficiency. Available memory in the shared memory space may be
managed using the so-called buddy system or other heap or other
management techniques. No named pipes or similar mechanisms under an
operating system need be invoked.