Efficient indexing using compact decision diagrams

US9405819B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9405819-B2
Application numberUS-2689708-A
CountryUS
Kind codeB2
Filing dateFeb 6, 2008
Priority dateFeb 7, 2007
Publication dateAug 2, 2016
Grant dateAug 2, 2016

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.

In one embodiment, a method includes accessing an inverted index of a searchable set of objects including key words. The inverted index includes multiple lists each corresponding to a particular key word and identifying a particular subset of the objects including the particular key word. The method includes generating a binary decision diagram (BDD) for each of one or more of the lists. The BDD corresponds to the particular key word of the list, and each decision node of the BDD represents an object in the searchable set of objects including the particular key word of the list. The method includes storing each of one or more of the lists as its BDD. Storage of the BDD facilitates more efficient storage of the inverted index.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: accessing an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word; generating a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and storing each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index, wherein storing a BDD comprises storing for each of its nodes only a variable ID of the node that uniquely labels the node, a 0-edge negated flag, and THEN/ELSE pointers using a minimum number of bits for a size of the BDD. 2. The method of claim 1 , wherein one or more of the BDDs are zero-suppressed nano binary decision diagrams (nanoZDDs). 3. The method of claim 1 , wherein one or more of the BDDs are partitioned ordered binary decision diagrams (POBDDs). 4. The method of claim 1 , wherein one or more of the BDDs have customized node structures. 5. The method of claim 1 , wherein the objects are web pages and a web search engine uses the stored BDDs to generate search results. 6. A method comprising: accessing a binary decision diagram (BDD) representing a list of an inverted index of a searchable set of objects comprising key words, the list corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; determining elements of the list by: traversing the BDD depth first along one or more paths to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a set of values to an array of variables for the elements of the list according to each of the paths traversed; and using the determined elements of the list to calculate a conjunction between the list and one or more other lists of the inverted index. 7. The method of claim 6 , wherein determining a first element of the list comprises: traversing the BDD depth first along a first path from a root node of the BDD to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a 1 to each variable in the array corresponding to a decision node of the BDD having a 1 edge in the first path, and assigning a 0 to each variable in the array corresponding to a decision node of the BDD having a 0 edge in the first path or corresponding to a decision node excluded from the BDD. 8. The method of claim 6 , wherein the BDD is a zero-suppressed nano binary decision diagram (nanoZDD). 9. The method of claim 6 , wherein one or more of the BDDs are partitioned ordered binary decision diagrams (POBDDs). 10. The method of claim 6 , wherein the objects are web pages. 11. One or more non-transitory computer-readable media encoding software operable when executed to: access an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word; generate a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and store each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index, wherein storing a BDD comprises storing for each of its nodes only a variable ID of the node that uniquely labels the node, a 0-edge negated flag, and THEN/ELSE pointers using a minimum number of bits for a size of the BDD. 12. The computer-readable media of claim 11 , wherein one or more of the BDDs are zero-suppressed nano binary decision diagrams (nanoZDDs). 13. The computer-readable media of claim 11 , wherein one or more of the BDDs are partitioned ordered binary decision diagrams (POBDDs). 14. The computer-readable media of claim 11 , wherein one or more of the BDDs have customized node structures. 15. The computer-readable media of claim 11 , wherein the objects are web pages and a web search engine uses the stored BDDs to generate search results. 16. One or more non-transitory computer-readable media encoding software operable when executed to: access a binary decision diagram (BDD) representing a list of an inverted index of a searchable set of objects comprising key words, the list corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; determine elements of the list by: traversing the BDD depth first along one or more paths to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a set of values to an array of variables for the elements of the list according to each of the paths traversed; and use the determined elements of the list to calculate a conjunction between the list and one or more other lists of the inverted index. 17. The computer-readable media of claim 16 , wherein determining a first element of the list comprises: traversing the BDD depth first along a first path from a root node of the BDD to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a 1 to each variable in the array corresponding to a decision node of the BDD having a 1 edge in the first path, and assigning a 0 to each variable in the array corresponding to a decision node of the BDD having a 0 edge in the first path or corresponding to a decision node excluded from the BDD. 18. The computer-readable media of claim 16 , wherein the BDD is a zero-suppressed nano binary decision diagram (nanoZDD). 19. The computer-readable media of claim 16 , wherein one or more of the BDDs are partitioned ordered binary decision diagrams (POBDDs). 20. The computer-readable media of claim 16 , wherein the objects are web pages. 21. A system comprising: means for accessing an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word; means for generating a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and means for storing each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index, wherein storing a BDD comprises storing for each of its nodes only a variable ID of the node that uniquely labels the node, a 0-edge neg

Assignees

Inventors

Classifications

  • G06N5/01Primary

    Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title

  • G06F16/31Primary

    Indexing; Data structures therefor; Storage structures · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

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 US9405819B2 cover?
In one embodiment, a method includes accessing an inverted index of a searchable set of objects including key words. The inverted index includes multiple lists each corresponding to a particular key word and identifying a particular subset of the objects including the particular key word. The method includes generating a binary decision diagram (BDD) for each of one or more of the lists. The BD…
Who is the assignee on this patent?
Stergiou Stergios, Jain Jawahar, Fujitsu Ltd
What technology area does this patent fall under?
Primary CPC classification G06N5/01. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).