Patents by Inventor Edson Tirelli
Edson Tirelli 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).
-
Patent number: 10671451Abstract: Systems and methods for enforcing the idempotent mode of executing commands triggered by complex event processing. An example method may comprise: receiving, by a processing device, an event data item comprising a value of a state variable; applying an event processing rule to the event data item, by evaluating a conditional statement comprising the value of the state variable, to generate an event processing command; producing a command identifier identifying the event processing command; and responsive to failing to insert the command identifier into a hash table employed for storing identifiers of executed commands, discarding the event processing command.Type: GrantFiled: December 22, 2017Date of Patent: June 2, 2020Assignee: Red Hat, Inc.Inventors: Duncan Doyle, Edson Tirelli
-
Patent number: 10423468Abstract: Systems and methods for complex event processing. An example method may comprise: receiving, by a processing device of a first event processing node, an event data item reflecting a change of a system state, the event data item comprising a unique event identifier and a timestamp; and, responsive to determining a difference between the timestamp and a value of a pseudo-clock associated with the first event processing node, synchronizing the state of the first event processing node with the state of a second event processing node by adjusting the pseudo-clock by the difference.Type: GrantFiled: February 10, 2015Date of Patent: September 24, 2019Assignee: Red Hat, Inc.Inventors: Duncan Doyle, Edson Tirelli
-
Publication number: 20180121266Abstract: Systems and methods for enforcing the idempotent mode of executing commands triggered by complex event processing. An example method may comprise: receiving, by a processing device, an event data item comprising a value of a state variable; applying an event processing rule to the event data item, by evaluating a conditional statement comprising the value of the state variable, to generate an event processing command; producing a command identifier identifying the event processing command; and responsive to failing to insert the command identifier into a hash table employed for storing identifiers of executed commands, discarding the event processing command.Type: ApplicationFiled: December 22, 2017Publication date: May 3, 2018Inventors: Duncan Doyle, Edson Tirelli
-
Patent number: 9891966Abstract: Systems and methods for enforcing the idempotent mode of executing commands triggered by complex event processing. An example method may comprise: receiving, by a processing device of a command dispatching module associated with a first event processing node, an event processing command comprising a command identifier; and responsive to successfully storing the command identifier in a hash table employed for storing identifiers of executed commands, causing the event processing command to be executed.Type: GrantFiled: February 10, 2015Date of Patent: February 13, 2018Assignee: Red Hat, Inc.Inventors: Duncan Doyle, Edson Tirelli
-
Publication number: 20160232044Abstract: Systems and methods for enforcing the idempotent mode of executing commands triggered by complex event processing. An example method may comprise: receiving, by a processing device of a command dispatching module associated with a first event processing node, an event processing command comprising a command identifier; and responsive to successfully storing the command identifier in a hash table employed for storing identifiers of executed commands, causing the event processing command to be executed.Type: ApplicationFiled: February 10, 2015Publication date: August 11, 2016Inventors: Duncan Doyle, Edson Tirelli
-
Publication number: 20160231769Abstract: Systems and methods for complex event processing. An example method may comprise: receiving, by a processing device of a first event processing node, an event data item reflecting a change of a system state, the event data item comprising a unique event identifier and a timestamp; and, responsive to determining a difference between the timestamp and a value of a pseudo-clock associated with the first event processing node, synchronizing the state of the first event processing node with the state of a second event processing node by adjusting the pseudo-clock by the difference.Type: ApplicationFiled: February 10, 2015Publication date: August 11, 2016Inventors: Duncan Doyle, Edson Tirelli
-
Patent number: 9361582Abstract: Some embodiments of efficient binary protocol marshalling for rule engine sessions have been presented. In one embodiment, a set of marshalling plug-ins is provided to a rule engine. Each of the set of marshalling plug-ins is customized for a type of user objects. In response to encountering a user object, the rule engine selects a marshalling plug-in out of the set of marshalling plug-ins based on a type of the user object to marshall in or to marshall out the user object.Type: GrantFiled: September 4, 2012Date of Patent: June 7, 2016Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 9213942Abstract: Some embodiments of pattern behavior support in a rule engine have been presented. In one embodiment, a behavior builder registry is stored on a computer-readable storage device in a server. The behavior builder registry includes a set of behaviors supported by a rule engine and a set of builders associated with the behaviors. A compiler running on the server may compile a set of rules using the behavior builder registry to generate a network having a set of nodes. In response to a data object asserted propagating into a node of the network, the rule engine may first check one or more behaviors at the node before applying one or more regular constraints at the node on the data object asserted.Type: GrantFiled: August 12, 2009Date of Patent: December 15, 2015Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8930297Abstract: Some embodiments of using left and right unlinking by an example rule engine have been presented. A rule engine can create a network having a number of nodes to evaluate a set of rules in a knowledge base. The rule engine may initialize a session to be processed using the network to allow each of the nodes to be logically left unlinked and logically right unlinked at the same time during the session.Type: GrantFiled: November 30, 2010Date of Patent: January 6, 2015Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8712949Abstract: A method to support multi-dimensional tuples in rule engines having rule engine executed by a processing device can evaluate facts in a working memory stored on a data storage device against a rule with repetitions. The rule engine may create a multi-dimensional tuple to hold a set of the facts that matches the rule. The multi-dimensional tuple has a set of elements and an index for each of the elements. Each element of the multi-dimensional tuple is a single fact or a tree structure for holding a set of facts of a repetition group that matches the rule with repetitions.Type: GrantFiled: December 2, 2010Date of Patent: April 29, 2014Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8645296Abstract: Some embodiments of knowledgebase partitioning for implementing parallelization in a rule engine have been presented. In one embodiment, a compiler divides a knowledgebase into a set of virtual partitions. The knowledgebase includes a network constructed according to rules added to the knowledgebase. A rule engine may execute the virtual partitions of the partitioned knowledgebase in parallel using threads obtained from a pool of threads.Type: GrantFiled: August 12, 2009Date of Patent: February 4, 2014Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8600914Abstract: Some embodiments of implementing left and right unlinking for a shared knowledge base in an exemplary rule engine have been presented. A rule engine can create a network to evaluate a set of rules in a knowledge base. The network includes at least one multiple-input node, such as a beta node having two inputs. The rule engine may process data in multiple sessions simultaneously using the network. The rule engine may further logically unlink a first node in the network from a second node in the network for a first session while keeping the first node linked to the second node for a second session.Type: GrantFiled: November 30, 2010Date of Patent: December 3, 2013Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8589322Abstract: Some embodiments of a method to reduce churn caused by excessive linking and unlinking have been presented. A rule engine can create a network having a number of nodes to evaluate a set of rules in a knowledge base. The rule engine may unlink a node in the network in response to an input of the node becoming empty in a session. The rule engine may then wait a predetermined period of time before allowing the node to be unlinked again during the session.Type: GrantFiled: November 30, 2010Date of Patent: November 19, 2013Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8538905Abstract: Some embodiments of a method to lazily enable truth maintenance in a rule engine have been presented. A rule engine can enable truth maintenance on an object type basis. In response to a working memory action involving a particular object type, the rule engine may check a truth maintenance parameter of the object type involved to determine if truth maintenance for the object type has to be enabled. If so, the rule engine may enable truth maintenance for the object type.Type: GrantFiled: December 2, 2010Date of Patent: September 17, 2013Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8417659Abstract: Some embodiments of a method to support multi-result set calculation in a rule engine have been presented. A rule engine can compile a set of rules to build a network for evaluating facts against the rules. The rules include at least one rule requiring multiple calculations to be executed for the same set of facts. The rule engine can create a single multi-result set calculation node for this rule in the network. The multi-result set calculation node can generate a set of results and add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.Type: GrantFiled: December 2, 2010Date of Patent: April 9, 2013Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8418135Abstract: Some embodiments of a method and an apparatus to abstract away rule languages from a rule engine have been presented. In one embodiment, rules written in a first rule language are parsed into descriptor classes, which are used to model concepts that can be expressed in a rule engine. An intermediate structure is generated from the parsed rules. The intermediate structure is input to a core of the rule engine, which is operable to execute the rules.Type: GrantFiled: May 31, 2007Date of Patent: April 9, 2013Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli, Robert K. McWhirter
-
Patent number: 8352402Abstract: Some embodiments of a multiple entry point network for stream support in an exemplary rule engine have been presented. In one embodiment, a stream of events is asserted into a working memory of a rule engine, which supports event processing. The rule engine, running on a server, processes the stream of events against a set of rules retrieved from a rule repository of the rule engine. To process the events, the rule engine may construct a network having multiple root nodes, each being an entry point into the network, through which the events may enter the network and propagate through the network.Type: GrantFiled: August 12, 2009Date of Patent: January 8, 2013Assignee: Red Hat, Inc.Inventors: Edson Tirelli, Mark Proctor
-
Publication number: 20120330877Abstract: Some embodiments of efficient binary protocol marshalling for rule engine sessions have been presented. In one embodiment, a set of marshalling plug-ins is provided to a rule engine. Each of the set of marshalling plug-ins is customized for a type of user objects. In response to encountering a user object, the rule engine selects a marshalling plug-in out of the set of marshalling plug-ins based on a type of the user object to marshall in or to marshall out the user object.Type: ApplicationFiled: September 4, 2012Publication date: December 27, 2012Applicant: RED HAT, INC.Inventors: Mark Proctor, Edson Tirelli
-
Patent number: 8271419Abstract: Some embodiments of efficient binary protocol marshalling for rule engine sessions have been presented. In one embodiment, a set of marshalling plug-ins is provided to a rule engine. Each of the set of marshalling plug-ins is customized for a type of user objects. In response to encountering a user object, the rule engine selects a marshalling plug-in out of the set of marshalling plug-ins based on a type of the user object to marshall in or to marshall out the user object.Type: GrantFiled: August 26, 2009Date of Patent: September 18, 2012Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli
-
Publication number: 20120143809Abstract: Some embodiments of a method to lazily enable truth maintenance in a rule engine have been presented. A rule engine can enable truth maintenance on an object type basis. In response to a working memory action involving a particular object type, the rule engine may check a truth maintenance parameter of the object type involved to determine if truth maintenance for the object type has to be enabled. If so, the rule engine may enable truth maintenance for the object type.Type: ApplicationFiled: December 2, 2010Publication date: June 7, 2012Inventors: Mark Proctor, Edson Tirelli