US 12,271,635 B2
Systems and methods for implementing and using a cross-process queue within a single computer
Lawrence Edmund Lewis, Durham, NC (US); Mohammadreza Nazari, Wayne, PA (US); and Amirhassan Fallah Dizche, Woburn, MA (US)
Assigned to SAS INSTITUTE INC., Cary, NC (US)
Filed by SAS Institute Inc., Cary, NC (US)
Filed on Jun. 7, 2024, as Appl. No. 18/737,592.
Claims priority of provisional application 63/534,326, filed on Aug. 23, 2023.
Prior Publication US 2025/0068357 A1, Feb. 27, 2025
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0673 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A computer-program product embodied in a non-transitory machine-readable storage medium storing computer instructions that, when executed by one or more processors, perform operations comprising: implementing a cross-process queue within a shared memory of a single computer that is configured to transfer a data block between a write operating process executing a write operation and a read operating system process executing a read operation, wherein the cross-process queue includes an index of cells; initializing in-memory cell indices within the shared memory that includes: (1) a write operation index tracking index values of one or more cells within the cross-process queue that are available to write, and (2) a read operation index tracking index values of one or more cells within the cross-process queue that are available to read, wherein the in-memory cell indices govern write operations to and read operations from a plurality of cells of the index of cells as directed by the write operating system process executing the write operation and the read operating system process executing the read operation based on the index values tracked by the write operation index and the index values tracked by the read operation index; and implementing a cell synchronization data structure tracking states of the plurality of cells of the index of cells of the cross-process queue, wherein the cell synchronization data structure tracks a first count of cells of the plurality of cells of the index of cells that are available to write and tracks a second count of cells of the plurality of cells of the index of cells that are available to read, wherein the cell synchronization data structure regulates a utilization of the cross-process queue for the write operating system process executing the write operation and the read operating system process executing the read operation based on the first count of cells of the index of cells that are available to write and the second count of cells of the index of cells that are available to read.