US 12,265,740 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,721.
Application 18/737,721 is a continuation of application No. 18/737,592, filed on Jun. 7, 2024.
Claims priority of provisional application 63/534,326, filed on Aug. 23, 2023.
Prior Publication US 2025/0068358 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:
identifying a request, by a write operation process of a first analytical compute process, to write to a cross-process queue a given data block having a maximum length that is unknown at the time of the request by the write operation, wherein the maximum length of the given data block is dynamically changing, the cross-process queue is in-memory of a single computer and comprises a given plurality of cells, wherein each cell of the given plurality of cells of the cross-process queue:
has a fixed length, and
is assigned a cell index value of a plurality of cell index values;
identifying, by the cross-process queue, that the maximum length of the given data block that is dynamically changing exceeds the fixed length of a cell of the given plurality of cells; partitioning the given data block associated with the request by the write operation process into a plurality of partitions of data, wherein each respective partition of data of the plurality of partitions of data of the given data block do not exceed the fixed length of each cell of the given plurality of cells;
assigning a distinct cell index value of the plurality of cell index values to each respective partition of data of the plurality of partitions of data of the given data block; and
writing to the cross-process queue the given data block having the maximum length that is unknown at the time of the request by the write operation by causing the write operation process to execute a plurality of write operations of each respective partition of data of the plurality of partitions of data of the given data block within a distinct cell of the given plurality of cells based on the distinct cell index value assigned to the respective partition of data.