The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
May. 26, 2009

Filed:

Feb. 20, 2004
Applicants:

David Wortendyke, Seattle, WA (US);

Umesh Madan, Bellevue, WA (US);

Geary L. Eppley, Carnation, WA (US);

Inventors:

David Wortendyke, Seattle, WA (US);

Umesh Madan, Bellevue, WA (US);

Geary L. Eppley, Carnation, WA (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 17/30 (2006.01);
U.S. Cl.
CPC ...
Abstract

Implementations described herein relate to using a filter engine opcode tree for evaluating multiple queries. The opcode tree includes opcode nodes and branch nodes. Each opcode node includes one or more computer instructions resulting from compiling a query. Executing the opcode tree a single time evaluates each of multiple queries represented in the opcode tree. When a new opcode node is added to the tree, the context of the opcode tree and the structure of the new opcode are taken into account when modifying a branch node or an opcode node. In certain situation, a branch node is optimized to include an indexed lookup function such as a hash function, to optimize processing of opcode nodes that depend from the branch node. Adding and removing nodes to/from the opcode tree can be handled by a filter engine component or by an opcode object being added to/removed from the tree.


Find Patent Forward Citations

Loading…