Classifying uniform resource locators
Abstract
Classifying a uniform resource locator (URL) includes: generating a first bloom filter to associate a uniform resource locator (URL) with a first URL category from a pre-determined set of URL categories, programming the first bloom filter with a set of identified URLs in a URL database, each identified URL respectively corresponding to at least one URL category from the pre-determined set of URL categories, extracting a target URL from a network packet stream, determining a set of hash strides for the target URL, and querying the first bloom filter with each hash stride of the set of hash strides to identify a corresponding URL category for the target URL from the set of URL categories.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for classifying a uniform resource locator (URL), the method comprising:
generating a first bloom filter to associate a uniform resource locator (URL) with a first URL category from a pre-determined set of URL categories; programming the first bloom filter with a set of identified URLs in a URL database, each identified URL respectively corresponding to at least one URL category from the pre-determined set of URL categories; extracting a target URL from a network packet stream; determining a set of hash strides for the target URL; and querying the first bloom filter with each hash stride of the set of hash strides to identify a corresponding URL category for the target URL from the set of URL categories.
2 . The method of claim 1 , wherein the querying step is performed in a data plane.
3 . The method of claim 1 , wherein the extracting step is performed inline with a data transmission.
4 . The method of claim 1 , further comprising:
responsive to querying the set of bloom filters, identifying a plurality of URL categories from the pre-determined set of URL categories corresponding to the target URL; and determining a single URL category based on a programmable mapping table; wherein: the programmable mapping table defines the plurality of URL categories as the single URL category.
5 . The method of claim 4 , further comprising:
generating the programmable mapping table including a set of URL categories individually listed in the programmable mapping table and a plurality of URL categories grouped together in the programmable mapping table; wherein the single URL category is associated with the plurality of URL categories.
6 . The method of claim 1 , further comprising:
creating a set of bloom filters, each bloom filter respectively corresponding to a pre-determined URL category of the set of pre-determined URL categories.
7 . The method of claim 1 , further comprising:
reporting the corresponding URL category in human-readable form.
8 . A computer program product comprising a computer readable storage medium having stored thereon:
first program instructions programmed to generate a first bloom filter to associate a uniform resource locator (URL) with a first URL category from a pre-determined set of URL categories; second program instructions programmed to program the first bloom filter with a set of identified URLs in a URL database, each identified URL respectively corresponding to at least one URL category from the pre-determined set of URL categories; third program instructions programmed to extract a target URL from a network packet stream; fourth program instructions programmed to determine a set of hash strides for the target URL; and fifth program instructions programmed to query the first bloom filters including the first bloom filter and the plurality of bloom filters with each hash stride of the set of hash strides to identify a corresponding URL category for the target URL from the set of URL categories.
9 . The computer program product of claim 8 , wherein the querying the set of bloom filters is performed in a data plane.
10 . The computer program product of claim 8 , wherein the extracting the target URL is performed inline with a data transmission.
11 . The computer program product of claim 8 , further comprising:
fifth program instructions programmed to, responsive to querying the first bloom filter, identify a plurality of URL categories from the pre-determined set of URL categories corresponding to the target URL; and sixth program instructions programmed to determine a single URL category based on a programmable mapping table; wherein: the programmable mapping table defines the plurality of URL categories as the single URL category.
12 . The computer program product of claim 11 , further comprising:
seventh program instructions programmed to generate the programmable mapping table including a set of URL categories individually listed in the programmable mapping table and a plurality of URL categories grouped together in the programmable mapping table; wherein the single URL category is associated with the plurality of URL categories.
13 . The computer program product of claim 8 , further comprising:
fifth program instructions programmed to create a set of bloom filters, each bloom filter respectively corresponding to a pre-determined URL category of the set of pre-determined URL categories.
14 . The computer program product of claim 8 , further comprising:
fifth program instructions programmed to report the corresponding URL category in human-readable form.
15 . A computer system comprising:
a processor(s) set; and a non-transitory computer readable storage medium; wherein: the processor(s) set is structured, located, connected, and/or programmed to run program instructions stored on the non-transitory computer readable storage medium; and the program instructions include:
first program instructions programmed to generate a first bloom filter to associate a uniform resource locator (URL) with a first URL category from a pre-determined set of URL categories;
second program instructions programmed to program the first bloom filter with a set of identified URLs in a URL database, each identified URL respectively corresponding to at least one URL category from the pre-determined set of URL categories;
third program instructions programmed to extract a target URL from a network packet stream;
fourth program instructions programmed to determine a set of hash strides for the target URL; and
fifth program instructions programmed to query the first bloom filters including the first bloom filter and the plurality of bloom filters with each hash stride of the set of hash strides to identify a corresponding URL category for the target URL from the set of URL categories.
16 . The computer system of claim 15 , wherein the querying the set of bloom filters is performed in a data plane.
17 . The computer system of claim 15 , wherein the extracting the target URL is performed inline with a data transmission.
18 . The computer system of claim 15 , further comprising:
fifth program instructions programmed to, responsive to querying the first bloom filter, identify a plurality of URL categories from the pre-determined set of URL categories corresponding to the target URL; and sixth program instructions programmed to determine a single URL category based on a programmable mapping table; wherein: the programmable mapping table defines the plurality of URL categories as the single URL category.
19 . The computer system of claim 18 , further comprising:
seventh program instructions programmed to generate the programmable mapping table including a set of URL categories individually listed in the programmable mapping table and a plurality of URL categories grouped together in the programmable mapping table; wherein: the single URL category is associated with the plurality of URL categories.
20 . The computer system of claim 15 , further comprising:
fifth program instructions programmed to create a set of bloom filters, each bloom filter respectively corresponding to a pre-determined URL category of the set of pre-determined URL categories.Join the waitlist — get patent alerts
Track US2017337258A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.