Method of and system for analyzing the content of resource requests
First Claim
1. A processor device-implemented method of determining an indicator of a desired sub-class of service for resource requests, the method comprising performing the following steps in, by or for one or more processor devices:
- receiving the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet;
when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, refraining from performing content analysis processing of the resource request;
when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, performing content analysis processing of the resource request comprising the following sub-steps;
deriving a key from either or both the indicator of the desired class of service and content of the resource request, the content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher;
using the key to access a database comprising entries associating match portions of key values with indicators of a desired sub-class of service, wherein each of a plurality of the entries indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching; and
when one or more matching database entries are located, deriving the indicator of the desired sub-class of service for the resource request from one or more of the matching entries,wherein, the resource request comprises an https header, and the key from the resource request having an https header is derived solely from the indicator of the desired class of service, and the content analysis processing of the resource request further comprises extracting a SSL identifier string from the https header for allocating a resource to the resource request.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for analyzing the content of resource requests. A tokenizer parses the resource request and derives a key therefrom. A database associates values of the key with categories of service. An association engine uses the key to obtain one or more matching entries from the database, and derive therefrom the desired category of service for the resource request. A cookie engine derives cookie information from a cookie located in the resource request. A session engine derives session information from a session identifier located in a handshake message associated with the resource request. The desired category of service, the cookie information, and the session information are each useful for allocating a resource to the resource request.
116 Citations
78 Claims
-
1. A processor device-implemented method of determining an indicator of a desired sub-class of service for resource requests, the method comprising performing the following steps in, by or for one or more processor devices:
-
receiving the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet; when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, refraining from performing content analysis processing of the resource request; when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, performing content analysis processing of the resource request comprising the following sub-steps; deriving a key from either or both the indicator of the desired class of service and content of the resource request, the content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher; using the key to access a database comprising entries associating match portions of key values with indicators of a desired sub-class of service, wherein each of a plurality of the entries indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching; and when one or more matching database entries are located, deriving the indicator of the desired sub-class of service for the resource request from one or more of the matching entries, wherein, the resource request comprises an https header, and the key from the resource request having an https header is derived solely from the indicator of the desired class of service, and the content analysis processing of the resource request further comprises extracting a SSL identifier string from the https header for allocating a resource to the resource request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39)
-
-
22. A processor device-implemented method of determining an indicator of a desired sub-class of service for, and one or more content identifiers from, resource requests, the method comprising performing the following steps in or by one or more processor devices:
-
receiving the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet; when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, refraining from performing content analysis processing of the resource request; when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, performing content analysis processing of the resource request comprising the following sub-steps; deriving the indicator of the desired sub-class of service by matching first content of the resource request with one or more entries of a database associating match portions of content with indicators of a desired sub-class of service, wherein each of a plurality of the entries indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching, the first content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher; and deriving, in parallel with previous deriving step, the one or more content identifiers from an analysis of second content of the resource request that is distinct from the first content at least in part, the one or more content identifiers, the second content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, wherein either or both the indicator of the desired sub-class of service, and the one or more content identifiers, are useful for allocating a resource, comprising a connection to a server or class of server, to the resource request, wherein the first content is selected from the group consisting of domain name information and URL path information, and the second content is selected from the group consisting of cookie information and SSL session information. - View Dependent Claims (23, 40, 41)
-
-
24. A processor device-implemented method of allocating resources to resource requests comprising performing the following steps in or by one or more processor devices:
-
receiving the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet; when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, refraining from performing content analysis processing of the resource request; when the indicator of the desired class of service for the request indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, performing content analysis processing of the resource request comprising the following sub-steps; when the request comprises an http header, deriving an indicator of a desired sub-class of service by matching first content of the resource request with one or more entries of a database associating match portions of content with indicators of a desired sub-class of service, each of a plurality of the entries indicating both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching, the first content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher; when the request comprises an http or https header, deriving one or more content identifiers from an analysis of second content of the resource request that is distinct from the first content, the second content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher; and allocating a resource to the resource request, comprising a connection or class of connections, responsive to one or more of the indicator of the desired class of service, the indicator of the desired sub-class of service, and the one or more content identifiers, wherein the first content is selected from the group consisting of domain name information and URL path information, and the second content is selected from the group consisting of cookie information and SSL session information. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
42. A system for determining an indicator of a desired sub-class of service for resource requests comprising:
-
one or more processor devices that receive the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which is accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, have a tokenizer and an association engine refrain from performing content analysis processing of the resource request, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, have the tokenizer and the association engine perform content analysis processing of the resource request; wherein the tokenizer, when performing content analysis processing of the resource request, is configured to parse content of the resource request, the content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher; a database configured to associate sub-classes of service with values of a key; and the association engine, when performing content analysis processing of the resource request, is configured to; assemble a key from either or both the indicator of the desired class of service and one or more of the tokens, access the database using the key, obtains one or more entries therefrom that match the key, and derive the indicator of the desired sub-class of service from the one or more matching entries, wherein each of a plurality of the entries indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching, and outputs the indicator of the desired sub-class of service, wherein, the resource request comprises an https header, and the key from the resource request having the https header is derived solely from the indicator of the desired class of service, and the system further comprises a session engine configured to extract a SSL identifier string from the https header for allocating a resource to the resource request when performing content analysis processing of the resource request. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 67, 68, 69, 71, 72, 73, 74)
-
-
56. A system for deriving an indicator of a desired sub-class of service for, and one or more content identifiers from, resource requests comprising:
-
one or more processor devices configured to receive the resource requests having one resource request corresponding to OSI layer 4 and another resource request corresponding to OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, have an association engine and one or more extraction engines refrain from performing content analysis processing of the resource request, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, have the association engine and the one or more extraction engines perform content analysis processing of the resource request; wherein the association engine, when performing content analysis processing of the resource request, configured to determine the indicator of the desired sub-class of service for the resource request, by matching content of a first portion of the resource request with one or more entries of a database associating match values of content with indicators of a desired sub-class of service, the content of the first portion comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, wherein each of a plurality of the entries in the database indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching; the one or more extraction engines, when performing content analysis processing of the resource request, configured to extract information from a second portion of the resource request distinct from the first portion at least in part, the second portion of the resource request comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, and configured to derive the one or more content identifiers from the extracted information; and wherein the one or both the indicators of the desired sub-class of service and the one or more content identifiers are for allocating a resource, comprising a connection or class of connections, to the resource request, and wherein the second portion of the resource request is selected from the group consisting of cookie information and SSL session information. - View Dependent Claims (57, 58, 59, 75, 76)
-
-
60. A system for allocating resources to resource requests comprising:
-
one or more processor devices that receive the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, have an association engine and one or more extraction engines configured to refrain from performing content analysis processing of the resource request, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, have either or both the association engine and one or more extraction engines perform content analysis processing of the resource request; wherein the association engine, when performing content analysis processing of the resource request, and the resource request comprises an http header, is configured to determine the indicator of the desired sub-class of service for the resource request by matching content of a first portion of the resource request with one or more entries of a database that associate content portions with indicators of a desired sub-class of service, the content of the first portion comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, wherein each of a plurality of the entries in the database indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, a prefix match, a suffix match, and a combination prefix and suffix match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching, continue searching, continue searching left-to-right, and continue searching right-to-left; and wherein the one or more extraction engines, when performing content analysis processing of the resource request, and the resource request comprises either an http or https header, configured to extract information from a second portion of the resource request distinct from the first at least in part, the second portion of the resource request comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, and derives therefrom the one or more content identifiers; a register including one or more programmable control bits configured to allow the association engine, and any of the one or more extraction engines, to be disabled or bypassed; and a policy engine configured to allocate a resource, comprising a connection or a class of connections, to the resource request responsive to one or more of the indicators of the desired class of service, the indicators of the desired sub-class of service and one or more content identifiers, wherein the second portion of the resource request is selected from the group consisting of cookie information and SSL session information. - View Dependent Claims (61, 62, 63, 64, 65, 70)
-
-
66. A system for allocating resources to resource requests comprising:
-
one or more processor devices configured to receive the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, have a means for determining and a means for extracting configured to refrain from performing content analysis processing of the resource request, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, have the means for determining and the means for extracting perform content analysis processing of the resource request; the means for determining, when performing content analysis processing of the resource request, configured to determine the indicator of the desired sub-class of service for the resource request by matching content of a first portion of the resource request with one or more entries of a database associating match portions of content with indicators of a desired sub-class of service, first content comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, wherein each of a plurality of entries in the database indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching; the means for extracting, when performing content analysis processing of the resource request, configured to extract information from a second portion of the resource request distinct from the first at least in part, the second portion of the resource request comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, and configured to derive therefrom one or more content identifiers, wherein the one or more content identifiers for application of one or more persistence policies; means for allowing any of the determining means and the extracting means to be disabled or bypassed; and means for allocating a resource, comprising a connection or class of connections, to the resource request responsive to one or more of the indicator of the desired class of service, the indicator of the desired sub-class of service and the one or more content identifiers, wherein the second portion of the resource request is selected from the group consisting of cookie information and SSL session information.
-
-
77. A system for deriving an indicator of a desired sub-class of service for, and one or more content identifiers from, resource requests comprising:
-
one or more processor devices that receive the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, have an association engine and one or more extraction engines refrain from performing content analysis processing of the resource request, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, have the association engine and one or more extraction engines perform content analysis processing of the resource request; wherein the association engine, when performing content analysis processing of the resource request, configured to determine the indicator of the desired sub-class of service for the resource request, by matching content of a first portion of the resource request with one or more entries of a database associating match values of content with indicators of a desired sub-class of service, the content of the first portion comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, wherein each of a plurality of the entries in the database indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, and at least one wildcard match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching and continue searching; the one or more extraction engines, when performing content analysis processing of the resource request, configured to extract information from a second portion of the resource request distinct from the first portion at least in part, the second portion of the resource request comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, and configured to derive the one or more content identifiers from the extracted information; and wherein the one or both the indicators of the desired sub-class of service and the one or more content identifiers are for allocating a resource, comprising a connection or class of connections, to the resource request, wherein the one or more extraction engines comprise a cookie engine and a session engine, and the system further comprises a control logic configured to; disable or bypass the session engine in response to receiving resources requests having an http header, and disable or bypass the association engine and the cookie engine in response to receiving resource requests having an https header.
-
-
78. A system for allocating resources to a resource requests comprising:
-
one or more processor devices that receive the resource requests having one resource request corresponding to an OSI layer 4 and another resource request corresponding to an OSI layer 5 or higher, wherein the resource requests are embodied as or spawned by a packet, and which are accompanied by or associated with an indicator of a desired class of service for the request derived from one or more non-content, header fields of the packet, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 4, have an association engines and one or more extraction engines refrain from performing content analysis processing of the resource request, and, when the indicator of the desired class of service indicates the desired class of service is at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, have either or both the association engine and one or more extraction engines perform content analysis processing of the resource request; wherein the association engine, when performing content analysis processing of the resource request, and the resource request comprises an http header, configured to determine the indicator of the desired sub-class of service for the resource request by matching content of a first portion of the resource request with one or more entries of a database that associate content portions with indicators of a desired sub-class of service, the content of the first portion comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to OSI layer five or higher, wherein each of a plurality of the entries in the database indicates both type of match and action to be taken upon the type of match occurring, the type of match selected from the group consisting of an exact match, a prefix match, a suffix match, and a combination prefix and suffix match, and the action to be taken upon the type of match occurring selected from the group consisting of stop searching, continue searching, continue searching left-to-right, and continue searching right-to-left; and the one or more extraction engines, when performing content analysis processing of the resource request, and the resource request comprises either an http or https header, configured to extract information from a second portion of the resource request distinct from the first at least in part, the second portion of the resource request comprising at least a portion of the packet, or a segment encapsulating the packet, at a layer in an applicable reference model corresponding to the OSI layer 5 or higher, and to derive therefrom the one or more content identifiers; a register including one or more programmable control bits configured to allow the association engine, and any of the one or more extraction engines, to be disabled or bypassed; and a policy engine configured to allocate a resource, comprising a connection or class of connections, to the resource request responsive to one or more of the indicator of the desired class of service, the indicator of the desired sub-class of service and the one or more content identifiers, wherein the one or more extraction engines comprise a cookie engine and a session engine, and the control register configured to; disable or bypass the session engine in response to receiving resources requests having an http header, and disable or bypass the association engine and the cookie engine in response to receiving resource requests having an https header.
-
Specification