System and method for fast evaluation of standing queries in conjunctive normal form

US10423883B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10423883-B2
Application numberUS-201514821245-A
CountryUS
Kind codeB2
Filing dateAug 7, 2015
Priority dateMar 8, 2012
Publication dateSep 24, 2019
Grant dateSep 24, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems are provided for evaluating standing queries against updated contact entries configured as a stream of facts. The method includes resolving the standing queries into an array of rules, each rule having a first and a second condition; sorting one of the facts into a first property and a second property; comparing the first property of the fact to the first condition of each rule in the array of rules to produce a first subset of matching rules; comparing the second property of the fact to the second condition of each rule in the first subset of rules to produce a second subset of matching rules; and reporting at least one of the second subset of rules to an author of the matching rule. The method further includes populating a first hash with indicia of the first subset, and populating a second hash with the second subset.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of evaluating computer database queries, the method comprising: resolving by a data processor the queries of business contact entries in a database into a set of rules, each rule comprising conditions; sorting by the data processor, for each rule, the conditions into a logical order; identifying by the data processor a fact having a plurality of properties sorted in the logical order, wherein the identifying includes selecting the fact from the database of the business contact entries that represent user data of the business contact entries; evaluating by the data processor the fact against each rule, wherein the evaluating comprises comparing the fact to each rule using hash tables, and further comprises using a second property associated with the fact as a key into a hash table to return a second set of rules; and identifying by the data processor a subset of the set of rules which match the fact. 2. The method of claim 1 , wherein the database queries are standing queries in conjunctive normal form. 3. The method of claim 1 , wherein the logical order is lexicographical. 4. The method of claim 1 , wherein the resolving comprises reducing at least one clause in a query from a disjunction of literals to a single literal. 5. The method of claim 1 , wherein the fact comprises N properties and each rule comprises up to N conditions, where N is an integer. 6. The method of claim 1 , wherein the conditions and the properties include at least two of: city; last name; first name; country; company; zip code; and title. 7. The method of claim 1 , wherein a first property is used as a key into a first hash table to return a first set of rules. 8. The method of claim 1 , wherein the evaluating comprises creating a high level hash table representing first evaluation results. 9. The method of claim 8 , wherein the evaluating comprises creating at least one secondary hash table representing second evaluation results. 10. A computer-implemented method of evaluating computer database queries, the method comprising: resolving by a data processor the queries of business contact entries in a database into rules, each rule comprising conditions; sorting by the data processor, for each rule, the conditions into a logical order; identifying by the data processor a fact having a plurality of properties sorted in the logical order, wherein the identifying includes selecting the fact from the database of the business contact entries that represent user data of the business contact entries, wherein the evaluating comprises comparing the fact to each rule using hash tables; evaluating by the data processor the fact against each rule; identifying by the data processor a subset of the rules which match the fact; and reporting by the data processor the identified subset. 11. The method of claim 10 , wherein the database queries are standing queries in conjunctive normal form. 12. The method of claim 10 , wherein the reporting comprises notifying an author of one of the rules in the subset. 13. The method of claim 10 , wherein the reporting comprises posting at least one of the rules of the subset on a website accessible by an author of the posted rule. 14. A computer-implemented method of evaluating computer database queries in conjunctive normal form against a fact having properties sorted in a logical order, the queries comprising a plurality of conditions sorted into a logical order, the method comprising: comparing by a data processor a first property of the fact to queries of business contact entries in a database in a first level table; returning by the data processor a second level table of queries, based on the comparing; comparing by the data processor a second property of the fact to queries of the business contact entries in the database in both the first level table and the second level table; identifying by the data processor a subset of the queries that match the fact; and reporting by the data processor the subset.

Assignees

Inventors

Classifications

  • G06Q10/00Primary

    Administration; Management · CPC title

  • Knowledge representation; Symbolic representation · CPC title

  • G06N5/046Primary

    Forward inferencing; Production systems · CPC title

  • Inference or reasoning models · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10423883B2 cover?
Methods and systems are provided for evaluating standing queries against updated contact entries configured as a stream of facts. The method includes resolving the standing queries into an array of rules, each rule having a first and a second condition; sorting one of the facts into a first property and a second property; comparing the first property of the fact to the first condition of each r…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 24 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).