IP Library Granted Patent US 8,554,774
Granted Patent B2
US 8,554,774 · App. 12/873,860 · Granted Oct 8, 2013

System and method for word indexing in a capture system and querying thereof

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,554,774
App. No.
12/873,860
Granted
Oct 8, 2013
Kind
B2
Abstract

Searching of objects captured by a capture system can be improved by eliminating irrelevant objects from a query. In one embodiment, the present invention includes receiving such a query for objects captured by a capture system, the query including at least one search term. This search term is then hashed to a term bit position using a hash function. Then objects can be eliminated if, in a word index associated with the object, the term bit position is not set.

Claims (46)

1. A method, comprising:

receiving a query to search a plurality of objects captured by a capture system, the query including a search term;

generating a search token from the search term using a context-aware parser, wherein the context-aware parser uses a list of patterns associated with a content type indicated by the query to generate sub-tokenized search tokens from the search token;

hashing the sub-tokenized search tokens to one or more term bit positions using a hash function;

searching a first word index associated with a first object;

eliminating the first object from the query if a bit is not set in each of the one or more term bit positions of a first bit vector of the first word index, wherein each bit that is set in the first bit vector represents at least one token generated from the first object, and wherein the hashing of the sub-tokenized search tokens includes truncating several of the sub-tokenized search tokens such that they stem to a same token.

2. The method of claim 1 , wherein the context-aware parser uses a list of separators associated with the content type indicated by the query.

3. The method of claim 1 , further comprising:

searching a second word index associated with a second object;

retrieving the second object if a bit is set in each of the one or more term bit positions of a second bit vector of the second word index.

4. The method of claim 1 , wherein the eliminating the first object from the query comprises performing a search over a tag database, wherein each tag in the tag database comprises one of a plurality of word indexes.

5. The method of claim 1 , wherein the bit has a value of “1” if the bit is set in the bit vector.

6. The method of claim 1 , further comprising:

extracting text contained in the first object;

generating a plurality of text tokens from the extracted text using the context-aware parser;

hashing the plurality of text tokens to a plurality of bit position values; and

creating the first word index by setting bits of the first bit vector of the first word index, one or more of the bits corresponding to the plurality of bit position values, wherein the extracting, the generating, the hashing, and the creating occur prior to the receiving a query.

7. One or more non-transitory computer readable media containing logic encoded therein for performing operations when the logic is executed by one or more processors, the operations comprising:

receiving a query to search a plurality of objects captured by a capture system, the query including a search term;

generating a search token from the search term using a context-aware parser, wherein the context-aware parser uses a list of patterns associated with a content type indicated by the query to generate sub-tokenized search tokens from the search token;

hashing the sub-tokenized search tokens to one or more term bit positions using a hash function;

searching a first word index associated with a first object;

eliminating the first object from the query if a bit is not set in each of the one or more term bit positions of a first bit vector of the first word index, wherein each bit that is set in the first bit vector represents at least one token generated from the first object, and wherein the hashing of the sub-tokenized search tokens includes truncating several of the sub-tokenized search tokens such that they stem to a same token.

8. The one or more non-transitory computer readable media of claim 7 , wherein the context-aware parser uses a list of separators associated with the content type indicated by the query.

9. The one or more non-transitory computer readable media of claim 7 , the logic performing further operations when executed by the one or more processors, comprising:

searching a second word index associated with a second object;

retrieving the second object if a bit is set in each of the one or more term bit positions of a second bit vector of the second word index.

10. The one or more non-transitory computer readable media of claim 7 , wherein the eliminating the first object from the query comprises performing a search over a tag database, wherein each tag in the tag database comprises one of a plurality of word indexes.

11. An apparatus, comprising:

a query module; and

one or more processors configured to execute instructions associated with the query module such that the apparatus is configured for:

receiving a query to search a plurality of objects captured by a capture system, the query including a search term;

generating a search token from the search term using a context-aware parser, wherein the context-aware parser uses a list of patterns associated with a content type indicated by the query to generate sub-tokenized search tokens from the search token;

hashing the sub-tokenized search tokens to one or more term bit positions using a hash function;

searching a first word index associated with a first object;

eliminating the first object from the query if a bit is not set in each of the one or more term bit positions of a first bit vector of the first word index, wherein each bit that is set in the first bit vector represents at least one token generated from the first object, and wherein the hashing of the sub-tokenized search tokens includes truncating several of the sub-tokenized search tokens such that they stem to a same token.

12. The apparatus of claim 11 , wherein the context-aware parser uses a list of separators associated with the content type indicated by the query.

13. The apparatus of claim 11 , the one or more processors configured to execute further instructions comprising:

searching a second word index associated with a second object;

retrieving the second object if a bit is set in each of the one or more term bit positions of a second bit vector of the second word index.

14. The apparatus of claim 13 , further comprising:

a word index module, wherein the one or more processors are configured to execute further instructions associated with the word index module including:

extracting text contained in the second object;

generating a plurality of text tokens from the extracted text using the context-aware parser;

hashing the plurality of text tokens to a plurality of bit position values; and

creating the second word index by setting bits of the second bit vector of the second word index, one or more of the bits corresponding to the plurality of bit position values, wherein the extracting, the generating, the hashing, and the creating occur prior to the receiving a query.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
MERGER Recorded Sep 1, 2010
From: RECONNEX CORPORATION
To: MCAFEE, INC.
Reel/Frame 024925/0368 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2010
From: DENINGER, WILLIAM; DE LA IGLESIA, ERIK
To: RECONNEX CORPORATION
Reel/Frame 024925/0291 →