Patents by Inventor Francesco Nigro

Francesco Nigro has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20240135210
    Abstract: Lambda expressions in a Rete network class can be replaced with code classes according to some examples herein. In one particular example, a system can generate a Rete network based on a set of rules. The Rete network can include nodes corresponding to conditions defined in the set of rules. The system can generate a network class based on the Rete network, where the network class is source code that includes lambda expressions representing the conditions associated with the nodes. The system can also generate replacement classes based on the lambda expressions. The system can then generate a modified network class by replacing the lambda expressions with the replacement classes in the network class.
    Type: Application
    Filed: October 23, 2022
    Publication date: April 25, 2024
    Inventors: Luca Molteni, Francesco Nigro
  • Patent number: 11960933
    Abstract: A method includes receiving, by a producer thread of a plurality of producer threads, an offer request associated with an item. The producer thread increases a sequence and determines (i) a chunk identifier of a memory chunk from a pool of memory chunks and (ii) a first slot position in the memory chunk to offer the item. The producer thread also writes the item into the memory chunk at the first slot position. Then, a first consumer thread of a plurality of consumer threads determines the first slot position of the item and consumes the item at the first slot position. A second consumer thread consumes another item at a second slot position in the memory chunk and recycles the memory chunk.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: April 16, 2024
    Assignee: RED HAT, INC.
    Inventor: Francesco Nigro
  • Patent number: 11954510
    Abstract: A method includes identifying an ahead-of-time (AOT) native-image application to be compiled and during AOT compilation of the AOT native-image application; bypassing an operating system page cache corresponding to the AOT native-image application; and accessing, by a processing device, the native-image application from an in-memory cache shared using inter-process-communication.
    Type: Grant
    Filed: December 22, 2020
    Date of Patent: April 9, 2024
    Assignee: Red Hat, Inc.
    Inventors: Francesco Nigro, Roderick Noel Kieley
  • Patent number: 11797344
    Abstract: A system includes a memory for storing a plurality of memory chunks and a processor for executing a plurality of producer threads. A producer thread increases a producer sequence and determines (i) a first chunk identifier associated with the producer sequence of an identified memory chunk and (ii) a position from the producer sequence to offer an item. The producer thread determines a second chunk identifier of a last created/appended memory chunk and determines whether the second chunk identifier is valid (e.g., matches the first chunk identifier). The producer thread reads a current memory chunk and determines whether a third chunk identifier associated with the current memory chunk is valid (e.g., matches the first chunk identifier). The producer thread writes the item into the identified memory chunk at the position.
    Type: Grant
    Filed: October 30, 2020
    Date of Patent: October 24, 2023
    Assignee: Red Hat, Inc.
    Inventor: Francesco Nigro
  • Patent number: 11762725
    Abstract: Losses of event datasets in computing networks can be detected and managed according to some examples. One example can include a system that can identify a slot among a group of slots of a ring buffer in which to store an event dataset. The system can determine a sequence number to associate with the event dataset. The system can then write the sequence number in a first predefined area of the slot of the ring buffer. Additionally, the system can initiate a write process for writing the event dataset in a second predefined area of the slot of the ring buffer, the second predefined area being separate from the first predefined area. The system can detect a completion of the write process and, in response to detecting the completion of the write process, include a write-completion indicator in the first predefined area.
    Type: Grant
    Filed: April 13, 2020
    Date of Patent: September 19, 2023
    Assignee: RED HAT, INC.
    Inventors: Mario Fusco, Francesco Nigro
  • Publication number: 20230056344
    Abstract: The present disclosure provides new and innovative systems and methods for processing out-of-order events. In an example, a computer-implemented method includes obtaining data, committing the obtained data to a fixed-size storage pool, the fixed-size storage pool including a plurality of slots and a pool index including a fixed-length array, by acquiring a slot in the plurality of slots, locking the acquired slot, storing the obtained data in the acquired slot, updating the pool index for the storage pool by updating an element in the array corresponding to the acquired slot, the element storing an indication of the obtained data, and unlocking the acquired slot, and transmitting an indication that the data is available.
    Type: Application
    Filed: August 13, 2021
    Publication date: February 23, 2023
    Inventors: Andrea Tarocchi, Francesco Nigro
  • Publication number: 20220374270
    Abstract: Consumer threads can assist in performing progressive chunking for a data queue. For example, a consumer thread can determine a current-chunk identifier indicating a current memory chunk of an unbounded queue, where the current memory chunk is associated with a producer thread that is different from the consumer thread. The consumer thread can determine a target-chunk identifier indicating a target memory chunk to which the producer thread is to write a data item. In response to determining that the target-chunk identifier is greater than the current-chunk identifier, the consumer thread can append a new memory chunk to the unbounded queue for use as the target memory chunk by the producer thread.
    Type: Application
    Filed: May 20, 2021
    Publication date: November 24, 2022
    Inventors: Daniele Zonca, Francesco Nigro
  • Publication number: 20220197682
    Abstract: A method includes identifying an ahead-of-time (AOT) native-image application to be compiled and during AOT compilation of the AOT native-image application; bypassing an operating system page cache corresponding to the AOT native-image application; and accessing, by a processing device, the native-image application from an in-memory cache shared using inter-process-communication.
    Type: Application
    Filed: December 22, 2020
    Publication date: June 23, 2022
    Inventors: Francesco Nigro, Roderick Noel Kieley
  • Publication number: 20220138010
    Abstract: A system includes a memory for storing a plurality of memory chunks and a processor for executing a plurality of producer threads. A producer thread increases a producer sequence and determines (i) a first chunk identifier associated with the producer sequence of an identified memory chunk and (ii) a position from the producer sequence to offer an item. The producer thread determines a second chunk identifier of a last created/appended memory chunk and determines whether the second chunk identifier is valid (e.g., matches the first chunk identifier). The producer thread reads a current memory chunk and determines whether a third chunk identifier associated with the current memory chunk is valid (e.g., matches the first chunk identifier). The producer thread writes the item into the identified memory chunk at the position.
    Type: Application
    Filed: October 30, 2020
    Publication date: May 5, 2022
    Inventor: Francesco Nigro
  • Publication number: 20210342190
    Abstract: A method includes receiving, by a producer thread of a plurality of producer threads, an offer request associated with an item. The producer thread increases a sequence and determines (i) a chunk identifier of a memory chunk from a pool of memory chunks and (ii) a first slot position in the memory chunk to offer the item. The producer thread also writes the item into the memory chunk at the first slot position. Then, a first consumer thread of a plurality of consumer threads determines the first slot position of the item and consumes the item at the first slot position. A second consumer thread consumes another item at a second slot position in the memory chunk and recycles the memory chunk.
    Type: Application
    Filed: April 30, 2020
    Publication date: November 4, 2021
    Inventor: Francesco Nigro
  • Publication number: 20210318925
    Abstract: Losses of event datasets in computing networks can be detected and managed according to some examples. One example can include a system that can identify a slot among a group of slots of a ring buffer in which to store an event dataset. The system can determine a sequence number to associate with the event dataset. The system can then write the sequence number in a first predefined area of the slot of the ring buffer. Additionally, the system can initiate a write process for writing the event dataset in a second predefined area of the slot of the ring buffer, the second predefined area being separate from the first predefined area. The system can detect a completion of the write process and, in response to detecting the completion of the write process, include a write-completion indicator in the first predefined area.
    Type: Application
    Filed: April 13, 2020
    Publication date: October 14, 2021
    Inventors: Mario Fusco, Francesco Nigro
  • Publication number: 20210096892
    Abstract: A method performed by a computing system includes, with a compiler, compiling source code to create an application for execution. The method further includes, after the compiling has started, recording a snapshot of compilation configurations, the compilation configurations including information obtained by the compiler during the compiling. The method further includes storing the snapshot in a predefined format and after storing the snapshot, loading the snapshot by configuring the compiler based on the compilation configuration in the snapshot.
    Type: Application
    Filed: October 1, 2019
    Publication date: April 1, 2021
    Inventors: Francesco Nigro, Daniele Zonca
  • Patent number: 10782970
    Abstract: A method includes receiving, by a producer thread, an offer request associated with an item. Additionally, the method includes increasing, by the producer thread, a producer sequence. The producer thread determines (i) a chunk identifier, associated with the producer sequence, of a memory chunk from a doubly linked list of memory chunks and (ii) a slot position, from the producer sequence, in the memory chunk to offer the item. Additionally, the producer thread writes the item into the memory chunk at the slot position. A consumer thread determines the slot position of the item, consumes the item at the slot position, and determines the status of the slot position as an intermediate slot or the end slot. Responsive to determining the slot position as the end slot, the consumer thread detaches the memory chunk to remove the memory chunk from the doubly linked list of memory chunks.
    Type: Grant
    Filed: September 17, 2019
    Date of Patent: September 22, 2020
    Assignee: Red Hat, Inc.
    Inventor: Francesco Nigro