Patents by Inventor Edoardo Vacchi

Edoardo Vacchi 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: 20260169780
    Abstract: The present disclosure provides computer-implemented methods, systems, and devices for automatically partitioning a directed graph of nodes. A computing device accesses a directed graph of nodes, wherein the directed graph of nodes represents a rule-based system for evaluating input. The computing device partitions the directed graph of nodes into a router network and two or more partitions, each partition comprising an independent subsection of the directed graph of nodes. For a respective partition of the two or more partitions, the computing device generates a respective service container to store the respective partition. The computing device transmits the respective service container to a remotely located second computing system for execution on the remotely located second computing system.
    Type: Application
    Filed: December 16, 2024
    Publication date: June 18, 2026
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Patent number: 12652231
    Abstract: Systems and methods are disclosed for partitioning a rules engine. An example method includes receiving a specification for a rules engine comprising a plurality of nodes. The method also includes identifying two or more partitions of the rules engine, wherein the two or more partitions comprise a first partition with a first node and at least a second partition with a second node. Each partition is connected to a root node of the rules engine and wherein the first node of the first partition is connected by an edge to the second node of the second partition. The method also includes instantiating the first partition in a first computational device, instantiating the second partition in a second computational device, and configuring a network communication channel between the first node of the first partition and the second node of the second partition.
    Type: Grant
    Filed: May 15, 2023
    Date of Patent: June 9, 2026
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Patent number: 12481524
    Abstract: Systems and methods for uniform addressing can include receiving a request to execute a component of an application and assigning a component identifier to the component of the application. It could also include determining a component type identifier of the component and responsive to a determination that the component is instantiated, assigning a component instance identifier to an instance of the component. It could further include invoking the component by a global address comprising the component type identifier and at least or of the component identifier and component instance identifier.
    Type: Grant
    Filed: December 20, 2021
    Date of Patent: November 25, 2025
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Tiago Dolphine
  • Patent number: 12423459
    Abstract: A rules engine that is running a rules-based application executing on a computing device comprising a processor device receives a first transaction that includes a plurality of data fields, at least some of the data fields including data to be evaluated by a plurality of rules identified in the rules-based application, the first transaction including encrypted data in a first encrypted data field of the plurality of data fields that has been encrypted with a symmetric key in accordance with a structured encrypted algorithm. The rules engine queries the encrypted data using a first query token generated using the symmetric key to determine if the encrypted data includes a value used in a first condition identified in the plurality of rules. The rules engine takes an action based at least in part on querying the encrypted data.
    Type: Grant
    Filed: November 14, 2023
    Date of Patent: September 23, 2025
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20250156575
    Abstract: A rules engine that is running a rules-based application executing on a computing device comprising a processor device receives a first transaction that includes a plurality of data fields, at least some of the data fields including data to be evaluated by a plurality of rules identified in the rules-based application, the first transaction including encrypted data in a first encrypted data field of the plurality of data fields that has been encrypted with a symmetric key in accordance with a structured encrypted algorithm. The rules engine queries the encrypted data using a first query token generated using the symmetric key to determine if the encrypted data includes a value used in a first condition identified in the plurality of rules. The rules engine takes an action based at least in part on querying the encrypted data.
    Type: Application
    Filed: November 14, 2023
    Publication date: May 15, 2025
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20250147816
    Abstract: A Rete decision tree that identifies a plurality of nodes that correspond to conditions identified in a rules-based application and a plurality of paths through subsets of the nodes in accordance with logic of the rules-based application is accessed. The Rete decision tree is partitioned into at least two partitions, a first partition comprising a first plurality of nodes and a corresponding first set of the plurality of paths, and a second partition comprising a second plurality of nodes and a corresponding second set of the plurality of paths, wherein at least one of the nodes in the second partition comprises a copy of a node in the first partition. A first service that implements the first partition is caused to be initiated on a first compute instance and a second service that implements the second partition is caused to be initiated on a second compute instance.
    Type: Application
    Filed: November 6, 2023
    Publication date: May 8, 2025
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20250138858
    Abstract: Systems and methods for runtime loading of a non-native module to a virtual machine. An example method may include running, by a processing device, a virtual machine; loading, in the virtual machine, a first bytecode module comprising a first bytecode of a first bytecode type, wherein the first bytecode type is not supported by the virtual machine; validating the first bytecode module according to a first validation policy based on a status of the virtual machine; generating a second bytecode module by translating the first bytecode to a second bytecode of a second bytecode type, wherein the second bytecode type is supported by the virtual machine; and executing the second bytecode module by the virtual machine.
    Type: Application
    Filed: October 31, 2023
    Publication date: May 1, 2025
    Inventors: Edoardo Vacchi, Luca Burgazzoli
  • Publication number: 20250130862
    Abstract: A rules engine accesses a rules-based application that identifies a plurality of rules, each rule identifying a condition and an action that may be taken based on an evaluation of the condition. The rules engine generates, from the rules-based application, a plurality of processing nodes, some of the processing nodes corresponding to conditions identified in a rule and others of the processing nodes corresponding to actions to be taken. Processing node information is input into a constraint solver that identifies the processing nodes and interrelationships between the processing nodes and a cost function that identifies a processing preference. A solution is received from the constraint solver that identifies a first set of processing nodes of the plurality of processing nodes to be implemented on a first computing device, and a second set of processing nodes of the plurality of processing nodes to be implemented on a second computing device.
    Type: Application
    Filed: October 24, 2023
    Publication date: April 24, 2025
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Patent number: 12197898
    Abstract: In various examples disclosed herein, provided is a method and system for cross-validating files to facilitate code generation. The system can perform the cross-validation in phases of disparate files to enable the interoperability of the files. The files can include representations of tasks that are organized differently and differ in format and semantics. The method and system described herein can perform syntax and semantic validation on the files to check for errors, and then identify terms and names identified in the tasks associated with the files along with signatures (e.g., schemas for data models or function signatures for function invocations) associated with the names. After error checking is complete, and after the names and signatures are identified, the names and signatures in the respective files can be cross-validated to find matching tasks, and code is generated that utilizes the cross-validated and matching tasks.
    Type: Grant
    Filed: April 8, 2022
    Date of Patent: January 14, 2025
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Patent number: 12175401
    Abstract: In various examples disclosed herein, provided is a method for segmenting processes into stand-alone services. The method can include receiving a file that includes information relating to a plurality of components. The method can also include determining a first resource cost associated with deploying each component in a respective service and a second resource cost associated with deploying each component in a single service. The method can also include determining a segmentation plan that segments the plurality of components into groups of one or more components that can be executed by respective services, where a third resource cost associated with the segmentation plan is lower than the first resource cost and the second resource cost. The method can also include generating instructions to deploy the respective services on the one or more computing devices.
    Type: Grant
    Filed: May 24, 2022
    Date of Patent: December 24, 2024
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Patent number: 12175213
    Abstract: In various examples disclosed herein, provided is a method for mapping data models to facilitate code generation. The method can include receiving a first file comprising a first data model of a first group of components and a second file comprising a second data model of a second group of components. The method can also include converting the first data model into a first intermediate data model. The method can also include converting the second data model into a second intermediate data model. The method can also include mapping the first intermediate data model to the second intermediate data model to generate a map of matching elements. The method can also include generating code to be executed based at least in part on the map of matching elements.
    Type: Grant
    Filed: May 25, 2022
    Date of Patent: December 24, 2024
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Patent number: 12164914
    Abstract: Removing inactive components to facilitate code generation. A first file that includes a first group of components in a first notation syntax and a second file that includes a second group of components in a second notation syntax is received. A first set of inactive components of the first group of components is identified. A second set of inactive components of the second group of components is identified. The components of the first group of components and the second group of components that are not marked as inactive components are active components. Code to be executed based on the active components is generated.
    Type: Grant
    Filed: May 24, 2022
    Date of Patent: December 10, 2024
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20240388522
    Abstract: Systems and methods are disclosed for partitioning a rules engine. An example method includes receiving a specification for a rules engine comprising a plurality of nodes. The method also includes identifying two or more partitions of the rules engine, wherein the two or more partitions comprise a first partition with a first node and at least a second partition with a second node. Each partition is connected to a root node of the rules engine and wherein the first node of the first partition is connected by an edge to the second node of the second partition. The method also includes instantiating the first partition in a first computational device, instantiating the second partition in a second computational device, and configuring a network communication channel between the first node of the first partition and the second node of the second partition.
    Type: Application
    Filed: May 15, 2023
    Publication date: November 21, 2024
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20240354090
    Abstract: Automatic caching for stateful applications can be implemented using aspect-oriented programming. In one example, a caching tool can detect, based on a selection from a client device, an update to a property of an instance of a software application. The caching tool can further identify a match between the update to the property and a predefined aspect. In response to the identifying the match, the caching tool may determine stateful information for the instance based on the selection from the client device. In response to determining the stateful information, the caching tool may automatically execute an asynchronous caching function to store, in a cache, the stateful information.
    Type: Application
    Filed: April 18, 2023
    Publication date: October 24, 2024
    Inventors: Matteo Mortari, Edoardo Vacchi
  • Publication number: 20240259473
    Abstract: Systems and methods are disclosed that send a first request to a first microservice to evaluate a set of facts with a set of rule conditions. The systems and methods receive a response from the first microservice that identifies one or more triggered rule conditions from the set of rule conditions based on the first microservice evaluating the set of facts with the set of rule conditions. The systems and methods send one or more second requests to one or more second microservices to perform one or more operations that correspond to the one or more triggered rule conditions.
    Type: Application
    Filed: January 31, 2023
    Publication date: August 1, 2024
    Inventors: Edoardo Vacchi, Mario Fusco, Daniele Zonca
  • Patent number: 11934800
    Abstract: In various examples disclosed herein, provided is a method for generating metadata to facilitate code generation. The method can include receiving a first file that includes information relating to a first set of components in a first notation syntax and a second file that includes information relating to a second set of components in a second notation syntax. The method can also include cross-validating the first file and the second file to determine that a first reference, in a first component of the first set of components, to a second component of the second set of components is valid. The method can also include generating a first metadata file that includes identification information relating to the first reference. The method can also include generating code to be executed based on the first metadata file, the first file, and the second file.
    Type: Grant
    Filed: May 24, 2022
    Date of Patent: March 19, 2024
    Assignee: Red Hat, Inc.
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20240029004
    Abstract: Trace data generated by a set of executing business asset components of a plurality of business asset components that form a business process application are received. Source code that defines the plurality of business asset components is received. Based on the trace data and the source code, native binary executable code is generated for a first subset of the business asset components and interpretable code for a second subset of business asset components is maintained.
    Type: Application
    Filed: July 22, 2022
    Publication date: January 25, 2024
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20240004698
    Abstract: A distributed computing environment can include a distributed process engine. For example, a computing device can receive, by a process engine distributed across a plurality of nodes of a distributed computing environment, a description of a process comprising a plurality of deployment units. The process can be associated with a graph representing a plurality of tasks to be performed to complete the process. The description can define relationships between the plurality of deployment units. The computing device can deploy, by the process engine, the plurality of deployment units in the distributed computing environment. The computing device can cause, by the process engine, an action associated with an execution of one or more deployment units of the plurality of deployment units.
    Type: Application
    Filed: July 1, 2022
    Publication date: January 4, 2024
    Inventors: Tiago Dolphine, Edoardo Vacchi
  • Publication number: 20230385056
    Abstract: Removing inactive components to facilitate code generation. A first file that includes a first group of components in a first notation syntax and a second file that includes a second group of components in a second notation syntax is received. A first set of inactive components of the first group of components is identified. A second set of inactive components of the second group of components is identified. The components of the first group of components and the second group of components that are not marked as inactive components are active components. Code to be executed based on the active components is generated.
    Type: Application
    Filed: May 24, 2022
    Publication date: November 30, 2023
    Inventors: Edoardo Vacchi, Paolo Antinori
  • Publication number: 20230385029
    Abstract: In various examples disclosed herein, provided is a method for generating metadata to facilitate code generation. The method can include receiving a first file that includes information relating to a first set of components in a first notation syntax and a second file that includes information relating to a second set of components in a second notation syntax. The method can also include cross-validating the first file and the second file to determine that a first reference, in a first component of the first set of components, to a second component of the second set of components is valid. The method can also include generating a first metadata file that includes identification information relating to the first reference. The method can also include generating code to be executed based on the first metadata file, the first file, and the second file.
    Type: Application
    Filed: May 24, 2022
    Publication date: November 30, 2023
    Inventors: Edoardo Vacchi, Paolo Antinori