Searching for information utilizing a probabilistic detector
First Claim
1. A method for searching for information, said method comprising:
- receiving a request for information;
computing at least one hash value based on said request;
querying with said at least one hash value a first memory for an indication as to whether said information is in a second memory, said indication having an associated probability equal to approximately 100 per cent for an indication that said information is not in said second memory;
determining if said indication is indicative of said information being in said second memory; and
if said indication is indicative of said information being in said second memory, querying said second memory for said information.
2 Assignments
0 Petitions
Accused Products
Abstract
A probabilistic detector is utilized to query a database. Utilization of a probabilistic detector provides assurance with 100 per cent probability that a search expression in the query is not in the database index. The probabilistic detector is implemented in the form of a Bloom filter. The probabilistic detector is created by hashing expressions in the database index and mapping the resulting hash values into the probabilistic detector. Upon receiving a query, expressions of the query are hashed. The probabilistic detector is queried using these hash values. If the results of querying the probabilistic detector indicate that searched for information may be in the database, the database is not queried. If the results of querying the probabilistic detector indicate that the information may be in the database, the database is queried for the information using the original query. This technique is advantageous in mitigating detrimental effects of denial of service attacks.
36 Citations
20 Claims
-
1. A method for searching for information, said method comprising:
-
receiving a request for information;
computing at least one hash value based on said request;
querying with said at least one hash value a first memory for an indication as to whether said information is in a second memory, said indication having an associated probability equal to approximately 100 per cent for an indication that said information is not in said second memory;
determining if said indication is indicative of said information being in said second memory; and
if said indication is indicative of said information being in said second memory, querying said second memory for said information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for searching for information, said system comprising:
-
an input/output portion for;
receiving a request for information, said request comprising at least one search expression; and
providing a query for said information;
a memory portion; and
a processor portion for;
computing at least one hash value from a received search expression of a request for information;
querying with said at least one hash value said memory portion for an indication as to whether said information is in an external memory, said indication having an associated probability equal to approximately 100 per cent for an indication that said information is not in said external memory;
determining if said indication is indicative of said information being in said external memory; and
if said indication is indicative of said information being in said external memory, querying via said input/output portion said external memory for said information. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable medium having computer-executable instructions for performing the acts of:
-
receiving a request for information, said request comprising at least one search expression;
computing at least one hash value from said at least one search expression;
querying with said at least one hash value a probabilistic detector for an indication as to whether said information is in a first memory, said indication having an associated probability equal to approximately 100 per cent for an indication that said information is not in said first memory;
responsive to a result of said query, performing one of;
querying said first memory for said information; and
determining that said information is not in said first memory;
- View Dependent Claims (16, 17, 18, 19, 20)
-
Specification