Method for monitoring and controlling the processing of database searches
First Claim
Patent Images
1. A method for preventing misuse of database searches, the method comprising:
- receiving a regular expression in a search and error handling thread of an application process running on a processor, wherein the regular expression includes one or more tokens and one or more quantifiers;
searching a database to find one or more input character strings that match the regular expression, wherein a duration of the searching scales greater than linearly with a size of an input character string in order to guarantee a determination of whether an input character string matches the regular expression including the quantifiers;
tracking, within the search and error handling thread, a computational effort of searching for matches to the regular expression, wherein the tracking of the computational effort occurs during the searching of the database to find the one or more input character strings that match the regular expression;
comparing the computational effort to a threshold value; and
performing an internal exit in the search and error handling thread when the computational effort exceeds the threshold value prior to completion of the searching of the database.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and apparatus for preventing misuse of searches of a database system are provided. This prevention of misuse of database searches can enable reliable operation of the database system, as an improper query using a regular expression will not shut down or severely affect an application process that provides access to the database system. A thread of the application process determines whether an input character string matches the regular expression. To prevent misuse, a computational effort of the search is tracked, and compared to a threshold value. When the threshold is exceeded, an operation of the thread is exited or stopped.
10 Citations
20 Claims
-
1. A method for preventing misuse of database searches, the method comprising:
-
receiving a regular expression in a search and error handling thread of an application process running on a processor, wherein the regular expression includes one or more tokens and one or more quantifiers; searching a database to find one or more input character strings that match the regular expression, wherein a duration of the searching scales greater than linearly with a size of an input character string in order to guarantee a determination of whether an input character string matches the regular expression including the quantifiers; tracking, within the search and error handling thread, a computational effort of searching for matches to the regular expression, wherein the tracking of the computational effort occurs during the searching of the database to find the one or more input character strings that match the regular expression; comparing the computational effort to a threshold value; and performing an internal exit in the search and error handling thread when the computational effort exceeds the threshold value prior to completion of the searching of the database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A database system comprising:
-
a processor; an input interface for receiving a regular expression from a user; logic that runs a search and error handling thread of an application process on the processor, wherein the search and error handling thread is configured to; receive the regular expression, wherein the regular expression includes one or more tokens and one or more quantifiers; search a database of the database system to find one or more input character strings that match the regular expression, wherein a duration of the searching scales greater than linearly with a size of an input character string in order to guarantee a determination of whether an input character string matches the regular expression including the quantifiers; tracking, within the search and error handling thread, a computational effort of searching for matches to the regular expression wherein the tracking of the computational effort occurs during the searching of the database to find the one or more input character strings that match the regular expression; compare the computational effort to a threshold value; and stopping the determination of whether an input character string matches the regular expression when the computational effort exceeds the threshold value prior to completion of the searching of the database. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product comprising a computer readable storage medium encoded with a plurality of instructions for controlling a computing system to perform an operation for preventing misuse of database searches, the instructions comprising:
-
receiving a regular expression in a search and error handling thread of an application process, wherein the regular expression includes one or more tokens and one or more quantifiers; searching a database to find one or more input character strings that match the regular expression, wherein a duration of the searching scales greater than linearly with a size of an input character string in order to guarantee a determination of whether an input character string matches the regular expression including the quantifiers; tracking, within the search and error handling thread, a computational effort of searching for matches to the regular expression wherein the tracking of the computational effort occurs during the searching of the database to find the one or more input character strings that match the regular expression; comparing the computational effort to a threshold value; and performing an internal exit in the search and error handling thread when the computational effort exceeds the threshold value prior to completion of the searching of the database. - View Dependent Claims (19, 20)
-
Specification