Efficient string search
AssigneeDell Software Inc.
InventorsThomas E. Raffill, Shunhui Zhu, Roman Yanovsky, Boris Yanovsky, John Gmuender
Life of this patent
Estimating the term…
Abstract
Some embodiments of an efficient string search have been presented. In one embodiment, a string of bytes representing content written in a non-delimited language is received, wherein the content has been classified into a predetermined category. In a single pass through the string of bytes, a set of N-grams is searched for simultaneously. Statistical information on occurrences of the N-grams, if any, in the string of bytes is collected. In some embodiments, a model is generated based on the statistical information, where the model is usable by a content filter to classify content.
Claims18
A method for classifying content written in a non-delimited language, the method comprising:
- receiving a string of bytes at a finite state machine (FSM), wherein the string of bytes is received by electronic hardware associated with the FSM after a user attempts to access information related to the string of bytes;
- performing a string search on the string of bytes, wherein the string search identifies that the string of bytes includes a set of N-grams that match one or more states in a set of states, wherein the FSM connects the one or more states in the set of states;
- collecting statistical information regarding the set of N-grams received in the string of bytes, wherein the collected statistical information corresponds to a condition in a model stored in a model repository;
- receiving the model from the model repository;
- identifying that the one or more states and that one or more N-grams in the set of N-grams correspond to the received model;
- identifying that a length of the received string of bytes also corresponds to the condition in the received model when the length of the received string of bytes is of a certain length;
- classifying content of the one or more N-grams as being prohibited according to the one or more states, the one or more N-grams, and the length that corresponds to the condition;
- and
- denying access to the content when the classification of the content is prohibited, wherein denying access to the content prevents the content from being displayed on a display accessible to the user after the user attempt to access the information relating to the string of bytes.
A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for classifying content written in a non-delimited language, the method comprising:
- receiving a string of bytes by the processor, wherein the processor executing instructions out of the memory performs the function of a finite state machine (FSM) after a user attempts to access information related to the string of bytes;
- performing a string search on the string of bytes, wherein the string search determines that the string of bytes matches one or more states in the set of states;
- performing a string search on the string of bytes, wherein the string search identifies that the string of bytes includes a set of N-grams that match one or more states in a set of states, wherein the FSM connects the one or more states in the set of states;
- collecting statistical information regarding the set of N-grams received in the string of bytes, wherein the collected statistical information corresponds to a condition in a model stored in a model repository;
- receiving the model from the model repository;
- identifying that the one or more states and that one or more N-grams in the set of N-grams correspond to the received model;
- identifying that a length of the received string of bytes also corresponds to the condition in the received model when the length of the received string of bytes is of a certain length;
- classifying content of the one or more N-grams as being prohibited according to the one or more states, the one or more N-grams, and the length that corresponds to the condition;
- and
- denying access to the content when the classification of the content is prohibited, wherein denying access to the content prevents the content from being displayed on a display accessible to the user after the user attempt to access the information relating to the string of bytes.
A system for classifying content written in a non-delimited language, the system comprising:
- a processor;
- and
- a memory, wherein the processor:
- receives a string of bytes after a user attempts to access information related to the string of bytes;
- performs a string search on the string of bytes according to a finite state machine (FSM), wherein the string search identifies that the string of bytes includes a set of N-grams that match one or more states in a set of states;
- collects statistical information regarding the set of N-grams received in the string of bytes, wherein the collected statistical information corresponds to a condition in a model stored in a model repository;
- receives the model from the model repository;
- identifies that the one or more states and that one or more N-grams in the set of N-grams corresponds to the received model;
- identifies that a length of the received string of bytes also corresponds to the condition in the received model when the length of the received string of bytes is of a certain length;
- classify content of the one or more N-grams as being prohibited according to the one or more states, the one or more N-grams, and the length that corresponds to the condition;
- and
- denies access to the content when the classification of the content is prohibited, wherein denying access to the content prevents the content from being displayed on a display accessible to the user after the user attempt to access the information relating to the string of bytes.
Dependencies are inferred from the claim text.