IP Library Granted Patent US 7,860,853
Granted Patent B2
US 7,860,853 · App. 12/069,659 · Granted Dec 28, 2010

Document matching engine using asymmetric signature generation

Assignee: Provilla, Inc.
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 7,860,853
App. No.
12/069,659
Granted
Dec 28, 2010
Kind
B2
Abstract

An automated method of matching an input document to a set of documents from a document repository. A signature database is stored, the signature database including a document identifier and signatures generated by a first signature generator for each of the set of documents. The input document is received and signatures are generated for the input document using a second signature generator, and the signature database is searched using the signatures generated for the input document. The first and second signature generators are configured such that different numbers of signatures are generated for a same document. Other embodiments, aspects and features are also disclosed.

Claims (71)

1. An automated method of document matching using asymmetrical signature generation, the method comprising:

receiving documents from a document repository;

generating signatures for each of the documents using a first signature generator;

providing the signatures and a document identifier for each of the documents to a signature database;

receiving an input document;

generating signatures for the input document using a second signature generator; and

searching the signature database using the signatures generated for the input document,

wherein the first and second signature generators are configured such that different numbers of signatures are generated for a same document, and

wherein the first and second signature generators each:

receive a document comprising a plurality of characters;

normalize the document to remove non-informative characters from the plurality of characters;

calculate a score for each informative character of the plurality of characters based on an occurrence frequency and distribution in the document;

rank each informative character of the plurality of characters based on the calculated score;

select, from the ranked informative characters, character occurrences; and

generate a signature for each selected character occurrence.

2. The method of claim 1 , wherein the first signature generator is configured to generate less signatures from the same document than the second signature generator.

3. The method of claim 2 , wherein the first and second signature generators are both configured with a same tolerance level, and wherein the tolerance level relates to an expectation that the method is able to identify document variations.

4. The method of claim 3 , wherein the first and second signature generators are both configured to generate an increasing number of signatures as a document text size increases.

5. The method of claim 2 , wherein a plurality of the second signature generators are each located at a protection point of a network.

6. The method of claim 5 , wherein protection points of the network include interne protocol routers.

7. The method of claim 5 , wherein protection points of the network include wireless access points.

8. The method of claim 5 , wherein protection points of the network include input/output interfaces of host computers.

9. The method of claim 5 , wherein protection points of the network include input/output interfaces of mobile devices.

10. An automated method of matching an input document to a set of documents from a document repository, the method comprising:

storing a signature database including a document identifier and signatures

generated by a first signature generator for each of the set of documents;

receiving an input document;

generating signatures for the input document using a second signature generator; and

searching the signature database using the signatures generated for the input document,

wherein the first and second signature generators are configured such that different numbers of signatures are generated for a same document, and

wherein the first and second signature generators each:

receive a document comprising text;

parse the document to generate a token set comprising a plurality of tokens, each token corresponding to the text in the document separated by a predefined character characteristic;

calculate a score for each token in the token set based on a frequency and distribution of the text in the document;

rank each token in the token set based on the calculated score;

select, from the ranked tokens, a subset of ranked tokens; and

generate a signature for each occurrence of the selected tokens.

11. The method of claim 10 , wherein the first signature generator is configured to generate less signatures from the same document than the second signature generator.

12. The method of claim 11 , wherein the first and second signature generators are both configured with a same tolerance level, and wherein the tolerance level relates to an expectation that the method is able to identify document variations.

13. The method of claim 12 , wherein the first and second signature generators are both configured to generate an increasing number of signatures as a document text size increases.

14. The method of claim 11 , wherein the second signature generator is located at a protection point of a network.

15. The method of claim 14 , wherein protection points of the network include internet protocol routers.

16. The method of claim 14 , wherein protection points of the network include wireless access points.

17. The method of claim 14 , wherein protection points of the network include input/output interfaces of host computers.

18. The method of claim 14 , wherein protection points of the network include input/output interfaces of mobile devices.

19. A computer readable storage medium structured to store instructions executable by a processor, the instructions when executed causing a processor to:

store a signature database including a document identifier and signatures generated by a first signature generator for each of the set of documents;

receive an input document;

generate signatures for the input document using a second signature generator; and

search the signature database using the signatures generated for the input document,

wherein the first and second signature generators are configured such that different numbers of signatures are generated for a same document, and

wherein the first and second signature generators are each configured to:

receive a document comprising a plurality of characters;

normalize the document to remove non-informative characters from the plurality of characters;

calculate a score for each informative character of the plurality of characters based on an occurrence frequency and distribution in the document;

rank each informative character of the plurality of characters based on the calculated score;

select, from the ranked informative characters, character occurrences; and

generate a signature for each selected character occurrence.

20. A computer apparatus comprising:

a processor configured to execute computer-readable instructions;

memory configured to store data, including said computer-readable instructions; and

a communications system interconnecting said processor and memory,

wherein said computer-readable instructions are configured to store a signature database including a document identifier and signatures generated by a first signature generator for each of the set of documents, receive an input document, generate signatures for the input document using a second signature generator, search the signature database using the signatures generated for the input document, and

wherein the first and second signature generators are configured such that different numbers of signatures are generated for a same document, and

wherein the first and second signature generators are each configured to:

receive a document comprising text;

parse the document to generate a token set comprising a plurality of tokens, each token corresponding to the text in the document separated by a predefined character characteristic;

calculate a score for each token in the token set based on a frequency and distribution of the text in the document;

rank each token in the token set based on the calculated score;

select, from the ranked tokens, a subset of ranked tokens; and

generate a signature for each occurrence of the selected tokens.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2011
From: TREND MICRO INCORPORATED
To: TREND MICRO INCORPORATED
Reel/Frame 026097/0538 →
MERGER Recorded Feb 28, 2011
From: TREND MICRO MOUNTAIN VIEW, INC.
To: TREND MICRO INCORPORATED
Reel/Frame 025874/0353 →
MERGER Recorded Feb 24, 2011
From: PROVILLA, INC.
To: TREND MICRO MOUNTAIN VIEW, INC.
Reel/Frame 025864/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2008
From: REN, LIWEI; HUANG, SHU; HUANG, FEI; LIN, YINGQIANG
To: PROVILLA, INC.
Reel/Frame 020561/0413 →
Continuity (2)
Provisional Application 6088977500 · Feb 14, 2007
Related Publication 20080195606A1 · Aug 14, 2008