Patents by Inventor Mark Proctor

Mark Proctor 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: 7912801
    Abstract: Some embodiments of a method and an apparatus to define ruleflows for a rule engine have been presented. In one embodiment, a graphical user interface (GUI) is generated to allow a user to graphically specify an execution order of some rules. Then the rule engine is used to execute the rules according to the execution order. The rules may include one or more rule sets, where each rule set contains one or more rules.
    Type: Grant
    Filed: May 31, 2007
    Date of Patent: March 22, 2011
    Assignee: Red Hat, Inc.
    Inventors: Mark Proctor, Kris Verlaenen
  • Patent number: 7904402
    Abstract: Some embodiments of pluggable dialects for a rule engine have been presented. In one embodiment, a rule file substantially written in a rule language is compiled. The rule file may include a set of rules, each rule having one or more semantic code blocks written in a dialect different from the rule language. Further, each rule may include a dialect parameter indicative of the dialect. The compiled rule file is input to a core engine of a rule engine for execution.
    Type: Grant
    Filed: August 31, 2007
    Date of Patent: March 8, 2011
    Assignee: Red Hat, Inc.
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20110055137
    Abstract: 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: Application
    Filed: August 26, 2009
    Publication date: March 3, 2011
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20110040708
    Abstract: 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: Application
    Filed: August 12, 2009
    Publication date: February 17, 2011
    Inventors: Edson Tirelli, Mark Proctor
  • Publication number: 20110040714
    Abstract: 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: Application
    Filed: August 12, 2009
    Publication date: February 17, 2011
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20110040709
    Abstract: 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: Application
    Filed: August 12, 2009
    Publication date: February 17, 2011
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20100257491
    Abstract: A method of providing a user interface for controlling a system (1;27) includes observing a presence of a body or body part of a user in a certain environment of a device (6,14-17;30). At least a perceptible part (28,34) of the user interface is made available to the user in association with a particular functionality for interacting with the system (1;27) controlled by the user interface in dependence on a rate of displacement of the body or body part of the user observed in the certain environment.
    Type: Application
    Filed: November 21, 2008
    Publication date: October 7, 2010
    Applicant: KONINKLIJKE PHILIPS ELECTRONICS N.V.
    Inventors: Lucas Jacobus Franciscus Geurts, Gavin Mark Proctor, Stuart Ronald Pill, Angus David Dick, Daniel Karl Pezzutti, Floris Maria Hermansz Crompvoets
  • Publication number: 20090222397
    Abstract: Some embodiments of beta node indexing in an exemplary rule engine have been presented. In one embodiment, a rule engine creates a network based on a set of rules. The network includes at least one multiple-input node, such as a beta node having two inputs. The beta node further includes a memory associated with each input. The rule engine may generate a single index for at least one of the memories of the beta node based on a set of predetermined attributes of elements within the memory. Examples of the elements include tuples and data objects. The index includes a set of composite keys, each having a value of each of the attributes.
    Type: Application
    Filed: February 29, 2008
    Publication date: September 3, 2009
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20090222386
    Abstract: Some embodiments of alpha node hashing in an exemplary rule engine have been presented. In one embodiment, constraints are added into a constraint set in response to requests from one or more users of a rule engine. The rule engine then determines which constraints within the constraint set are mutually exclusive. Furthermore, the rule engine dynamically enables hashing of facts asserted into a working memory of the rule engine in response to a current number of the mutually exclusive constraints.
    Type: Application
    Filed: February 29, 2008
    Publication date: September 3, 2009
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20090216702
    Abstract: Some embodiments of a fact type abstraction mechanism of a rule engine have been presented. In one embodiment, a fact type abstraction layer is provided to a rule engine core to allow the rule engine core to access facts of multiple different types. Further, the rule engine core is used to process the facts of multiple different types against a predetermined set of rules without converting the facts of multiple different types into a native type.
    Type: Application
    Filed: February 27, 2008
    Publication date: August 27, 2009
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20090063385
    Abstract: Some embodiments of a sequential mode in a Rete rule engine have been presented. In one embodiment, a Rete rule engine is configured to enter into a sequential mode. Using the Rete rule engine configured, a rule set having a set of rules is evaluated against a set of data objects in a stateless manner.
    Type: Application
    Filed: August 31, 2007
    Publication date: March 5, 2009
    Inventor: Mark Proctor
  • Publication number: 20090063382
    Abstract: Some embodiments of pluggable dialects for a rule engine have been presented. In one embodiment, a rule file substantially written in a rule language is compiled. The rule file may include a set of rules, each rule having one or more semantic code blocks written in a dialect different from the rule language. The compiled rule file is input to a core engine of a rule engine for execution.
    Type: Application
    Filed: August 31, 2007
    Publication date: March 5, 2009
    Inventors: Mark Proctor, Edson Tirelli
  • Publication number: 20080301078
    Abstract: 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: Application
    Filed: May 31, 2007
    Publication date: December 4, 2008
    Inventors: Mark Proctor, Edson Tirelli, Robert K. McWhirter
  • Publication number: 20080301079
    Abstract: Some embodiments of a method and an apparatus to define ruleflows for a rule engine have been presented. In one embodiment, a graphical user interface (GUI) is generated to allow a user to graphically specify an execution order of some rules. Then the rule engine is used to execute the rules according to the execution order. The rules may include one or more rule sets, where each rule set contains one or more rules.
    Type: Application
    Filed: May 31, 2007
    Publication date: December 4, 2008
    Inventors: Mark Proctor, Kris Verlaenen