Method For Generating Rules and Parameters for Assessing Relevance of Information Derived From Internet Traffic
A method is disclosed for generating a set of optimal rules and parameters for use by an evaluation engine on a volume of information extracted from a stream of IP packets associated with a web browsing session conducted over a network in order to filter user-initiated traffic flowing across the network from non-user-initiated traffic. Deep packet inspection is performed to extract the volume of information from the stream that conforms to at least one discrimination criteria. An initial iteration of application of the evaluation engine to the volume is performed by selecting initial discrimination criteria and rules for generating the filtered results and a distance between the filtered results and known actual user-initiated traffic is measured. Subsequent iterations of application of the evaluation engine to the volume are performed by changing the discrimination criteria and/or rules until there is no significant improvement in the measured distance.
Communication networks provide services and features to users that are increasingly important and relied upon to meet the demand for connectivity to the world at large. Communication networks, whether voice or data, are designed in view of a multitude of variables that must be carefully weighed and balanced in order to provide reliable and cost effective offerings that are often essential to maintain customer satisfaction. Accordingly, being able to analyze network activities and manage information gained from the accurate measurement of network traffic characteristics is generally important to ensure successful network operations.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
SUMMARYA method is disclosed for generating a set of optimal rules and parameters for use by an evaluation engine on a volume of information extracted from a stream of IP (Internet Protocol) packets associated with a web browsing session conducted over a network in order to filter user-initiated traffic flowing across the network from non-user-initiated traffic. Deep packet inspection (“DPI”) is performed to extract the volume of information from the stream that conforms to at least one discrimination criteria. An initial iteration of application of the evaluation engine to the volume is performed by selecting initial discrimination criteria and rules for generating the filtered results and a distance between the filtered results, and known actual user-initiated traffic is measured. Subsequent iterations of application of the evaluation engine to the volume are performed by changing the discrimination criteria and/or rules until there is no significant improvement in the measured distance.
In various illustrative examples of the present method, a user engages in the web browsing session utilizing a network access device such as a mobile phone or smartphone in a laboratory environment to access web pages from servers located on the Internet over a mobile communications network using a request-response protocol such as HTTP (HyperText Transfer Protocol) or SIP (Session Initiation Protocol). In the laboratory, the user and device may be observed to ascertain the “true clicks” (i.e., responses from the server that correspond to user-initiated requests) and “false clicks” (i.e., responses that correspond to non-user-initiated requests such as those implemented through embedded scripts) that are made during the web browsing session. Discrimination criteria such as technical data, page information, or timing-based information are observed by a DPI machine to generate a volume of test data. The rules may include deterministic rules and rules implementing aggregative evaluation of the discrimination criteria (which can be weighted differently). Generation of an evaluation engine may be iterated so that discrimination criteria and rules are applied to the volume of test data in various combinations until filtered results having a maximum number of true clicks and a minimum number of false clicks are obtained.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Like reference numerals indicate like elements in the drawings. Unless otherwise indicated, elements are not drawn to scale.
DETAILED DESCRIPTIONAs shown in
The network access devices 110 may include any of a variety of conventional electronic devices or information appliances that are typically portable and battery-operated and which may facilitate communications using voice and data. For example, the network access devices 110 can include mobile phones, e-mail appliances, smartphones, PDAs (personal digital assistants), ultra-mobile PCs (personal computers), tablet devices, tablet PCs, handheld game devices, digital media players, digital cameras including still and video cameras, GPSs (global positioning systems) navigation devices, pagers, or devices which combine one or more of the features of such devices. Typically, the network access devices 110 will include various capabilities such as the provisioning of a user interface that enables a user 105 to access the Internet 125 and browse and selectively interact with web pages that are served by the Web servers 115, as representatively indicated by reference numeral 130.
A network intelligence solution (“NIS”) 135 is also provided in the environment 100 and operatively coupled to the mobile communications network 120, or to a network node thereof (not shown) in order to access traffic that flows through the network or node and utilize an evaluation engine that may apply the optimal rules and parameters generated using the present method. In alternative implementations, the NIS 135 can be located remotely from the mobile communications network 120 and be operatively coupled to the network, or network node, using a communications link 140 over which a remote access protocol is implemented.
It is noted that performing network traffic analysis from a network-centric viewpoint can be particularly advantageous in many scenarios. For example, attempting to collect information at the client network access devices 110 can be problematic because such devices are often configured to utilize thin client applications and typically feature streamlined capabilities such as reduced processing power, memory, and storage compared to other devices that are commonly used for web browsing such as PCs. In addition, collecting data at the network advantageously enables data to be aggregated across a number of network access devices 110, and further reduces intrusiveness and the potential for violation of personal privacy that could result from the installation of monitoring software at the client. The NIS 135 is described in more detail in the text accompanying
As shown in
The NIS 135 comprises a deep packet inspection (“DPI”) machine 410 and an evaluation engine 415 that writes to a database 420. The database 420 may be accessed, manipulated, and queried to perform analysis of the usage of the mobile communications network 120, as indicated by reference numeral 425 in
As shown, traffic typically in the form of IP packets 430 flowing through the mobile communications network 120, or a node of the network, are captured via a tap 435 in a packet capture component 440 of the DPI machine 410. An engine 445 takes the captured IP packets to extract various types of information, as indicated by reference numeral 450, and filter and/or classify the IP traffic 430, as indicated by reference numeral 455. An information delivery component 460 of the DPI machine 410 then outputs the data generated by the DPI engine 445 to the evaluation engine 415, as shown. The evaluation engine 415 uses various evaluation rules 465 through the application of one or more of the discrimination criteria 470 in various combinations in order to identify user-initiated traffic in the IP traffic 430.
The selection of the technical data 540, page information 545, and timing-based information 550 may be implemented, for example, by executing the appropriate code in the DPI machine Turning again to
The page information 545 illustratively includes file extensions 615 such as .jpg, .bmp, .gif, .htm, .js, etc. Referrer information 620 may include web pages without a referrer (i.e., where a referrer identifies, from the point of view of a webpage, the address or URL of the resource which links to it). The page information 545 may further include page titles and meta-tags 625 where the meta-tags may include, for example, search words, and also include a URI (Uniform Resource Identifier) to a home page 630. Page information 545 may further include an historical average number of requests 635 that are received at a particular server 115. Variables included in the page information 545 also include pages both with and without a response having cookies (including third-party cookies), as indicated by reference numeral 640, and pages both with and without a request for a favorite icon (also termed a “favicon”), as indicated by reference numeral 645.
The timing-based information 550 illustratively includes the time interval between a current request (e.g., request 205 in
Under the HTTP 1.1 standard, multiple successive requests may be written out to a single network socket without waiting for a corresponding response from the remote server in a process known as “pipelining.” The requestor (e.g., the browser) then waits for the responses to arrive in the order in which they were requested. The pipelining of requests can result in a significant improvement in page loading times, especially over high latency connections. The time interval between a current request and a request in the same base flow when using the pipelining technique, as indicated by reference numeral 670 may also be included in the timing-based information 550. The timing-based information 550 may further include observations of the history of the time intervals between requests 675, as well as the historical time interval to a referrer 680.
As noted above, the evaluation rules 465 used by the engine 415 (
The evaluation engine 415 can be applied to a volume of test data that may be obtained under controlled conditions, for example, in a laboratory environment 900 as shown in
As shown in
During the web browsing session in the laboratory environment 900, observations of the user 910 and/or the network access device 915 may be made in order to obtain a set of known true clicks 935 that may be used to define parameters associated with the ideal target 805 shown in
In one illustrative example of data collection in the laboratory environment 900, several volumes of test data were generated for web browsing sessions on several websites with many page views. Utilization of a DPI machine created a large amount of request and response objects showing the timing of the request and response, the URL/URI of the referrer, the MIME type, and the response code. Additional information was added to the objects for test purposes including the true click information, page titles, and meta tags.
In the laboratory environment 900 various evaluation rules and discrimination criteria may be tested alone or in different combinations to generate filtered results from the volume of test data that can be compared against the set of known true clicks 935 to assess whether a given evaluation engine applying such rules and criteria provides results that are acceptably close to the target 805. The evaluation rules may encompass a range of rules and include relatively straightforward deterministic rules as well as more complex rules that utilize, for example, the aggregation of evaluations of a plurality of discrimination criteria (i.e., variables), where the evaluations can be weighted differently. The aggregation may be performed, for example, on an additive or multiplicative basis.
An example of application of an illustrative basic deterministic rule set is one that includes a response in the filtered results if the MIME type=text/html, and the response code=2xx (i.e., indicating that the corresponding request was successfully received, understood, and accepted), while excluding responses with file extensions like .jpg, .bmp, .gif, .js, and the like. When applied in an evaluation engine on the volume of test data having known true clicks, the performance of the engine is fairly poor with 25% of true clicks missed from the filtered results and many false clicks included, yielding a result of 75% on the x-axis and 28% on the y-axis, as indicated by the symbol 1010 in
An illustrative first alternative deterministic rule set using current time intervals can be utilized by an evaluation engine as follows: the application of rule 1 results in the inclusion of an object in a response in the filtered results if the object is determined to belong to a group MIME type=text/html (or a comparable group such as xhtlm, xml, plain/text, etc.). Rule 2 includes a response object in the results when a server response code=2xx. Rule 3 excludes an object having a particular file extension such as .jpg, .bmp, .gif, .js, and the like. Rule 4 excludes an object if the time interval to a former request is less than 0.5 seconds. Application of this first alternative rule set to the volume of test data yields 20% of true clicks missed from the filtered results and comparably fewer false clicks included for a result of 80% on the x-axis and 68% on the y-axis as indicated by the symbol 1015 in
An illustrative second alternative deterministic rule set using historical time intervals can also be utilized by an evaluation engine as follows: Rules 1-3 are the same as in above example. Rule 4 excludes an object from the results if the historical time interval to a former request was, in 70% of the cases, less than 0.5 seconds. Application of this second alternative rule set to the volume of test data yields 25% of true clicks missed from the filtered results and comparably fewer false clicks included for a result of 75% on the x-axis and 72% on the y-axis as indicated by the symbol 1020 in
An example of a more complex rule set illustratively includes an evaluation of an object based on the aggregative evaluation of several discrimination criteria. This rule set relies upon the observation that some MIME types and file extensions are more likely to be associated with user-initiated actions, others are less likely, and some are definitely not associated. In addition, objects without a referrer and objects that are referrers for other objects are more likely to be associated with user-initiated actions. And, objects that appear with a high time interval or show a historically high median time interval are more likely to be associated with user-initiated actions. Here, each subjective weighting is applied (and expressed as points) to the set of eight discrimination criteria below:
-
- +10 if MIME type=text/html; +5 if MIME type=xml; −50 if MIME type=jpg, gig, bmp, etc.
- +5 if home page (i.e., HTTP URL path=/)
- +5 if a current time interval to former request is above 0.5 sec or +10 if above 2 sec.
- +5 if an historical time interval to a former request is on average above 0.5 sec or +10 if above 2 sec.
- −10 if the current time interval in the same base flow is below 0.1 sec.
- +3 if an object has no referrer and/or is the object is a referrer of other events.
- +3 if the object has a title or meta tags
- +1 if the object requests cookies and/or favorite icons
This rule set enables calculation of the consequences of specific threshold values. It is observed that an increase of the threshold value will increase the exclusion rate of false clicks, but also increases the probability of excluding true clicks. Application of this complex rule set to the volume of test data yields results that vary between 91/55 (percentages on the respective x-axis and y-axis) and 70/85 depending on the particular threshold values selected, as shown by symbols 1025 in
where p is the probability that an object is associated with a true click, ν is the variable discrimination criterion, and b is the weight. Multiplicative aggregation may be alternatively implemented in some cases according to:
When using the additive aggregation expression, optimized weights for the eight discrimination criteria listed above can be calculated for a basic data set using standard dummy regression. Application of an evaluation engine using the optimized weights demonstrates improved filtering performance for various threshold values as shown by the symbols 1125 in
In such a field environment, the data collected and utilized by the NIS 135 (
Anonymization may be implemented by encrypting portions or all of the tapped network traffic to obscure information from which the network access device users' identities or data that could be used to obtain their identities might otherwise be determined. In some cases, the encrypted data may include a unique “anonymizing” identifier that can be correlated to unencrypted traffic data extracted from those packets associated with a corresponding user 105. This anonymizing process allows mobile communications network use of any individual user to be differentiated from the network use of all other users on a completely anonymous basis—that is, without referencing any personal identity information (e.g., name, address, telephone number, account number, etc.) of the user.
A volume of test data is generated via deep packet inspection of the tapped network traffic at block 1220 in
At block 1255, the discrimination criteria and/or rules applied by the evaluation engine are changed. The evaluation engine is applied, in a subsequent iteration, to a volume of test data to generate a subsequent set of filtered responses at block 1260. At block 1265, a measurement is made of the distance between the subsequent set of filtered responses and the known user-initiated traffic (i.e., known true clicks). Control is passed to decision block 1240 where a determination is made to continue to iterate the method steps 1255, 1260, and 1265 or end the method 1200. If no significant improvement in the measured distance has occurred, then the method 1200 ends at block 1250.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. (canceled)
2. (canceled)
3. (canceled)
4. (canceled)
5. (canceled)
6. (canceled)
7. (canceled)
8. (canceled)
9. (canceled)
10. (canceled)
11. (canceled)
12. (canceled)
13. (canceled)
14. (canceled)
15. (canceled)
16. (canceled)
17. (canceled)
18. (canceled)
19. (canceled)
20. (canceled)
21. A computer-implemented method for distinguishing between true clicks and false clicks in respective web browsing sessions between corresponding network access devices and a remote server, the method comprising the steps of:
- applying deep packet inspection to a stream of IP packets utilized in the web-browsing sessions to extract selected information from the IP packets according to discrimination criteria, the discrimination criteria including at least one of technical data, page information, or timing-based information;
- operating an evaluation engine incorporating at least one rule or criterion modifiable to progress toward a one to one correspondence between a number of modeled true clicks and a number of true clicks known from selected information extracted from a sample stream of IP packets according to the discrimination criteria; and
- applying rules obtained by operation of the evaluation engine to information extracted from web browsing sessions between the network access devices and a remote server.
22. The method of claim 21, wherein web-browsing sessions originating between the network access devices and a remote server include hypertext transfer protocol (http) information requests.
23. The method of claim 21, wherein web-browsing sessions originating between the network access devices and a remote server include information requests and wherein the at least one rule or criterion applied during operation of the evaluation engine includes a requirement that the file type specified by a response to an information request derived from the sample stream have a text/html, xhtml, xml, or plain/text extension.
Type: Application
Filed: Jun 20, 2014
Publication Date: Oct 9, 2014
Applicant: GfK US Holdings, Inc. (New York, NY)
Inventors: Bernhard Fischer-Wuenschel (Weihenzell), Thomas Ruf (Fuerth), Renate Wendlik (Roth)
Application Number: 14/310,817
International Classification: G06F 3/0481 (20060101); G06F 3/0484 (20060101); G06F 3/0482 (20060101);