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: 20260169780Abstract: 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: ApplicationFiled: December 16, 2024Publication date: June 18, 2026Inventors: Edoardo Vacchi, Paolo Antinori
-
Patent number: 12652231Abstract: 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: GrantFiled: May 15, 2023Date of Patent: June 9, 2026Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Patent number: 12481524Abstract: 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: GrantFiled: December 20, 2021Date of Patent: November 25, 2025Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Tiago Dolphine
-
Patent number: 12423459Abstract: 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: GrantFiled: November 14, 2023Date of Patent: September 23, 2025Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20250156575Abstract: 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: ApplicationFiled: November 14, 2023Publication date: May 15, 2025Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20250147816Abstract: 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: ApplicationFiled: November 6, 2023Publication date: May 8, 2025Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20250138858Abstract: 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: ApplicationFiled: October 31, 2023Publication date: May 1, 2025Inventors: Edoardo Vacchi, Luca Burgazzoli
-
Publication number: 20250130862Abstract: 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: ApplicationFiled: October 24, 2023Publication date: April 24, 2025Inventors: Edoardo Vacchi, Paolo Antinori
-
Patent number: 12197898Abstract: 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: GrantFiled: April 8, 2022Date of Patent: January 14, 2025Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Patent number: 12175401Abstract: 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: GrantFiled: May 24, 2022Date of Patent: December 24, 2024Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Patent number: 12175213Abstract: 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: GrantFiled: May 25, 2022Date of Patent: December 24, 2024Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Patent number: 12164914Abstract: 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: GrantFiled: May 24, 2022Date of Patent: December 10, 2024Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20240388522Abstract: 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: ApplicationFiled: May 15, 2023Publication date: November 21, 2024Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20240354090Abstract: 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: ApplicationFiled: April 18, 2023Publication date: October 24, 2024Inventors: Matteo Mortari, Edoardo Vacchi
-
Publication number: 20240259473Abstract: 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: ApplicationFiled: January 31, 2023Publication date: August 1, 2024Inventors: Edoardo Vacchi, Mario Fusco, Daniele Zonca
-
Patent number: 11934800Abstract: 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: GrantFiled: May 24, 2022Date of Patent: March 19, 2024Assignee: Red Hat, Inc.Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20240029004Abstract: 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: ApplicationFiled: July 22, 2022Publication date: January 25, 2024Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20240004698Abstract: 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: ApplicationFiled: July 1, 2022Publication date: January 4, 2024Inventors: Tiago Dolphine, Edoardo Vacchi
-
Publication number: 20230385056Abstract: 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: ApplicationFiled: May 24, 2022Publication date: November 30, 2023Inventors: Edoardo Vacchi, Paolo Antinori
-
Publication number: 20230385029Abstract: 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: ApplicationFiled: May 24, 2022Publication date: November 30, 2023Inventors: Edoardo Vacchi, Paolo Antinori