Abstract:
A system and methods for simulating human usage of mobile devices by simulating human behavior patterns operating mobile devices and using the simulation of human usage to obtain advertising or other online content specific to certain entities that is displayed on the mobile devices. The advertising or other online content specific to the certain entities is transmitted to an analytics server, where the advertising or other online content is interpreted and deciphered to obtain particular elements that relate to the advertising and online content including, but not limited to, an identification of the specific entity, the size of the advertising or other online content, the locations where the advertising or other online content appears, and the path by which the advertising or other online content travels to the mobile devices for display.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application Ser. No. 61/785,937, entitled “System and Method for Measuring Mobile Advertising and Content by Simulating Mobile-Device Use,” filed on Mar. 14, 2013, the entire contents of which are incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
       [0002]    The present invention relates to a system and methods for gathering online advertisements or other web content for display on mobile communication or computing devices, via the Internet and telephone networks, by simulating human usage of the mobile communication or computing devices, including but not limited to, cellular telephones, tablet devices, or wearable devices, each using a computing device or a computing device connected to an actual mobile device. 
       2. Description of the Related Art 
       [0003]    The Internet and other types of on-line communication have become increasingly popular to the point where they now compete with traditional media such as print media and broadcast media for the attention of users. Due to the large number of web pages available for users to view worldwide, online content creation and publication have become a huge business. 
         [0004]    With this growth, it is advantageous for various parties in the online advertising and publishing industries to obtain information about what is being advertised, when, how, where, and by whom, and to understand the content that creates the context for advertising. The complexity of the infrastructure that facilitates online advertising combined with the low transparency of business dealings in the online advertising world makes it difficult to determine the advertising strategies used by other companies other than one in which one is involved. 
         [0005]    Existing systems in the online advertising arena collect advertisements and content from web pages sent to conventional PC (personal computer) browsers. Currently, there exist no methods that facilitate collecting useful information when such information is provided to mobile browsers and applications. Yet, more and more, users rely on their mobile devices to access, browse, and view online content including advertisements and content from web pages. 
         [0006]    It would therefore be advantageous to create a mechanism and/or process by which comprehensive information or a complete picture may be obtained of advertising and other web content display strategies or scenarios that are used, for example, how advertising is planned and executed across the web or in distributed network of websites, particularly for display on mobile devices. 
       SUMMARY OF THE INVENTION 
       [0007]    In one innovative aspect, the present invention provides a system and methods configured to present requests to web servers, simulated to invoke responses from web servers for mobile telephones or such devices. In accordance with some embodiments, the requests, although transmitted from a computer or a telephone connected to a computer, simulate mobile telephone operations (and mobile web access protocols) for accessing web servers to obtain online content. By this mechanism, large quantities of data may be collected in a timely manner to provide a reasonably accurate assessment of the mobile advertising scenarios used by certain entities, wherein the entities may be advertisers, publishers, or companies involved with either measuring or serving advertising content. The present invention provides a complete picture of how advertising is planned and executed across the web, particularly for mobile devices. 
         [0008]    In some implementations, the present invention provides a system that comprises at least four components. A first component of the system is a mobile telephone and tablet simulator, which is configured either as a computer or software program operating on a computer or such electronic device or alternatively, an electronic device controlled by a computer or software program configured to accept input created or generated by other computer or software programs, yet behaving on its network-facing interface like any other mobile telephone or tablet. The web servers serving requests from this simulator device perceive that the requests are transmitted by a human using a mobile telephone, requesting an action relating to a web page or application. The mobile telephone and tablet simulator is devised to do anything a human can do with respect to input, location, web browsing, email collection, etc., on a mobile telephone or tablet device. The results of any request by the mobile telephone and tablet simulator are stored in a database and are made available to other computer programs that are configured to examine the outcomes of those requests. A second component of the system is a human-behavior generator, which manifests the logic schemes devised to simulate the requests humans may pose from their respective telephones or such mobile devices. Requests made by the mobile telephone and tablet simulator are constructed by the human-behavior generator to statistically model the measured behaviors of humans in aggregate. This creates a weighted sample that can approximate the volume of advertising or content in aggregate. A third component of the system is the analytic programming logic configured to examine data that has been collected by the mobile and tablet simulator, which is configured to find or discover relevant assets in the data such as advertisements or content and makes the data ready for presentation. The fourth component of the system includes the program schemes or software that actually present the data gathered and collected and that conduct certain analysis to summarize the data gathered and collected. 
         [0009]    In some embodiments, the methods of the present invention implemented on one or more computing devices include identifying advertising or content specific to entities, by operations directed to simulating human usage of different types of mobile devices. Human use may be simulated by simulating human behavior that is typical or normal for operating mobile devices. In some instances, the mobile devices may be simulated versions rather than real mobile telephones. In some instances, human usage is simulated to obtain advertising or content specific entities that are displayed on the mobile devices. The methods are configured to collect the advertising for specific or certain entities and any information about the advertising from the mobile devices, which are transmitted to an analytics server. The analytics server interprets and deciphers the elements relating to the advertising, including an identity of the entity (advertiser, publisher, or company involved in either measuring or serving the advertising), the size of one or more advertisements or content, the place or location where the one or more advertisements or content appeared, the path by which the one or more advertisements traveled for display to the mobile device, in the simulated or the real versions of the mobile device. The path may also include an indication of the buying process that purchased the advertising. 
         [0010]    The system and methods of the present invention may be implemented on one or more computer program products and may provide a user interface for display to a user, wherein the user interface enables users to use tools to view advertising and other online content on mobile devices and otherwise provide data that may be used in the system and methods of the present invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    The present invention is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals are used to refer to similar elements. 
           [0012]      FIG. 1  illustrates an overall architecture of the system in accordance with the present invention for gathering online advertisements or other web content, via the Internet and telephone networks, by simulating human use of mobile communication or computing devices, including but not limited to, cellular telephones, tablet devices, or wearable devices, each using a computing device or a computing device connected to an actual mobile device. 
           [0013]      FIG. 2  is a block diagram illustrating various hardware/software components of an example user-behavior generator in accordance with the present invention. 
           [0014]      FIG. 3  is a block diagram illustrating various hardware/software components of an example device simulator in accordance with the present invention. 
           [0015]      FIG. 4  is an example flowchart of an example general method for generating simulated requests from mobile devices and receiving online content and advertising data from web servers in accordance with the present invention. 
           [0016]      FIG. 5  is a flowchart of an example method illustrating operations for measuring user-web interactions (from mobile devices) in aggregate to create a statistical model and using the statistical model for constructing simulated user-requests. 
           [0017]      FIG. 6  is a flowchart of an example method illustrating operations for collecting user-web interaction data and determining user behavior patterns in accordance with the present invention. 
           [0018]      FIG. 7  is a flowchart of an example method illustrating operations for receiving simulated user-requests from a human-behavior generator and obtaining results from web servers based on these simulated user-requests. 
           [0019]      FIG. 8  is a block diagram illustrating one embodiment of data storage in accordance with the present invention. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0020]      FIG. 1  illustrates a block diagram of one embodiment of the system  100  for presenting requests to web servers in a distributed and networked environment, wherein the requests are simulated to appear as if they are made by mobile devices. Mobile web access is dictated by mobile protocols involving fragmentation of mobile devices, mobile operating systems, and browsers, the latency of over-the-air data transmission etc. The system  100  gathers information or data relating to online advertising or other online content based on requests that are simulated to represent inquiries from mobile devices. These simulated requests invoke responses from web servers for mobile telephones or such mobile electronic devices. The responses convey data that is used to evaluate or measure display of online advertising and web content on mobile devices. 
         [0021]    The system  100  and methods of the present invention described here either utilize or are operated on one or more computing systems (with one or more computers, processors, and data storage devices) that are configured to communicate in a distributed environment. For many examples described in the specification below, online content or online advertising can be any text, picture, or video created and/or published by publishers on web pages which are accessible to users over the Internet. Furthermore, for many examples in the specification below, an online advertisement (“ad”) is any text, picture or video the purpose of which is advertising communication including any flash asset, any image of Internet Advertising Board (IAB) or industry standard width and height that is clickable including any recursion into iframes from the original page. 
         [0022]    The distributed environment of the illustrated system  100  includes an Analytics (or analytics) server  104 , a User-Display Dashboard (or user-display dashboard)  105 , an Ad (or ad) server  111 , a Data-Collection Server (or data-collection server)  116 , a Behavior Server  190 , and one or more Client Devices (client devices)  107   a - 107   n  that are configured for access by users  125   a - 125   n . The illustrated system  100  also includes an Ad-and-Content Database (or ad-and-content database)  117 . In the illustrated embodiment, these entities are communicatively coupled via a network  103 . Although only two client devices  107   a - n  are illustrated, it should be recognized that any number of client devices  107   n  are available to any number of users  125   n . Furthermore, while only one network  103  is coupled to the analytics server  104 , the user-display dashboard  105 , the ad server  111 , the data-collection server  116 , the behavior server  190 , and the ad-and-content Database  117 , and the one or more client devices  107   a - 107   n , in practice any number of networks  103  can be connected to these entities. In one embodiment, the analytics server  104 , the ad server  111 , the data-collection server  116 , and the behavior server  190  are hardware servers including a processor, memory, and network communication capabilities. 
         [0023]    The system  100  is configured to gather data for measurement in real time or otherwise, by obtaining online data for mobile usage. Each of the client devices  107   a - 107   n  has a data-collection script  110  that is either, installed, downloaded, or otherwise embedded in the client devices  107   a - 107   n . The data-collection script  110  operates on each web browser  108  or application on any client or user&#39;s device  107   a ,  107   b , or  107   n . This data collection script  110  may be installed on each browser or application and is configured with a capability to gather data relevant to human use of mobile devices. 
         [0024]    In operation, the data collection script  110  configured to run on a web page  109 , renders in the browser  108  on a client device  107   a - n . It may be loaded from a script server (not shown) and begins to execute. The data collection script  110  once loaded operates to receive data relevant to mobile telephone use. In one embodiment, the data collection script  110  may be embedded on the web browser  108  by a script server or other such server configured with this capability. In another embodiment, the data collection script  110  may be placed on the web browser  108  by the ad server  111 . In yet another embodiment, the data collection script  110  may be embedded on the web browser  108  by a content server (not shown) or the behavior server  190 . 
         [0025]    The network  103  is a conventional type, wired or wireless, and may have any number of configurations such as a star configuration, token ring configuration or other configurations. Furthermore, the network  103  may comprise a local area network (LAN), a wide area network (WAN) (e.g., the Internet), and/or any other interconnected data path across which multiple devices may communicate. In yet another embodiment, the network  103  may be a peer-to-peer network. The network  103  may also be coupled to or includes portions of a telecommunications network for sending data in a variety of different communication protocols. In yet another embodiment, the network  103  includes Bluetooth communication networks or a cellular communications network for sending and receiving data such as via short messaging service (SMS), multimedia messaging service (MMS), hypertext transfer protocol (HTTP), direct data connection, WAP, email, etc. 
         [0026]    The client device  107   a  is representative of client devices  107   a - 107   n  and may be a conventional computer, for example, a personal computer that is used to represent a conventional type of mobile computing device, for example, cellular telephones, tablet devices, or wearable devices, each using a computing device or a computing device connected to an actual mobile device. The client devices  107   a - 107   n , are coupled to the network  103  by signal lines  116   a - 116   n , respectively. In one embodiment, the client device  107  is coupled to receive (e.g., download or otherwise view) content with online advertisements from the ad server  111  and other content from publishing sites or third party servers (not shown) but coupled in the illustrated distributed environment. The client device  107  includes the web browser  108  for presenting web pages  109  including online content and advertisements to the user or client  125   a  through  125   n  for viewing on their respective client devices  107   a - 107   n . The web browser  108  on each of the client or user device  107   a - 107   n  presents advertisements and other online content, and receives input from the user or client  125   a - 125   n  as represented by signal lines  110   a - 110   n . The signal lines  110   a - 110   n  represent interactions of the users,  125   a - 125   n , with their respective devices  107   a - 107   n  (e.g., viewing or manipulating tools to receive or control viewing of the online content).The web browser  108  and the data collection script  110  are operable on the client devices  107   a  through  17   n.    
         [0027]    The data collection server  116  is a web-connected server, within which multiple simulators reside and are configured to operate. A simulator may be only software or alternatively a physical device connected to a software simulator. In the illustrated embodiment, the simulators are referred to as device-simulators  119   a  through  119   n . It should be recognized that any number of device simulators may be included and configured to behave as if they were humans with mobile devices making requests of web servers. In some implementations, the device simulators  119   a  through  119   n  are configured to access the web, while simulating human behavior, and request from web servers, content and advertising, which is transmitted back to the device simulators  119   a  through  119   n . The device simulators  119   a  through  119   n  store the data returned to them in the ad and content database  117 . The ad and content database  117  is an example of a storage facility that is connected to the network  103 , for storing data collected by any one or more of the device simulators  119   a  through  119   n . The ad and content database  117  is discussed in greater detail below. 
         [0028]    The ad server  111  and/or the behavior server  190  comprises a human behavior generator  115   a  or  115   b , which is a program operating on a web-connected server that instructs the array of device simulators  119   a  through  119   n  to similar appropriate behavior to obtain data, which applications to simulate, and what behavior patterns to simulate. The human-behavior generator  115   a  through  115   b  may instruct the device simulators  119   a  through  119   n  to act like humans in any number of ways, including but not limited to, data entry, clicking, gestures, scrolling, shaking, changing location, and talking, etc. The human-behavior generator, any or all of  115   a  through  115   n , are configured to maintain a model and heuristics for how a population uses cellular telephones. These examples of human use may include gaming applications, use of maps, telephone calls, web browsing, etc. The human-behavior generator instructs each simulator  119   a  through  119   n  on how to behave as it accesses the web or other networks used by the telephones or telephonic devices that are simulated. 
         [0029]    The ad server  111  is a computer program running on a hardware system for placing advertisements on websites and/or placing the data collection script  110  on web pages  109 . For example, the ad server  111  may be a web server that receives advertisements from an ad preparation server (not shown) or an advertising asset server (not shown) and delivers them to users or clients ( 107   a - 107   n ) or viewing websites. The ad server  111  is coupled to the network  103  by signal line  133  for receiving ads from the ad preparation server (not shown) or the advertising asset server (not shown) and for delivering the ads to third party servers, sites or domains (not shown). 
         [0030]    The data collection server  116  is a computer program running on a hardware system for collecting data flow of samples that are obtained by the data collection scripts  110 . For example, the data collection server  116  may be a web server that receives and gathers sample data flow from various components in the distributed environment. The data collection server  116  is coupled to the network  103 , by signal line  135 , for communication with the other components of the system  100 . 
         [0031]    The behavior server  190  is a computer program running on a hardware system for simulating human behavior patterns. The behavior server  190  is coupled to the network  103 , by signal line  131 , for communication with the other components of the system  100 . 
         [0032]    The analytics server  104  is a computer program running on a hardware system for measuring and analyzing the data received that is relevant to simulating human behavior patterns. The analytics server  104  is coupled to the network  103 , by signal line  141 , for communication with the other components of the system  100 . The analytics server  104  is a web-connected server, including an ad-analytics engine  118  with programs for organizing and analyzing the collected data. 
         [0033]    The user display dashboard  105  is a networked server with programs that display the results of the data collection showing details and summaries of publishers, advertisements, content elements, tags, counts of ads by advertiser and creative, etc. In some implementations, the user display dashboard  105  is configured to access the information organized and stored by the analytics server  104  and presents various aspects of this data, as requested by users of the system  100 . 
         [0034]    The Ad-and-Content database  117  is data storage for storing content and other data as illustrated in further detail with reference to  FIG. 8 . The Ad and Content database  117  is coupled by signal line  143  to the other components of the system  100  coupled by network  103 . The Ad-and-Content storage  117  stores data, information, and instructions used by the system  100 . Such stored information includes information about users, publishers, ads, assets and other information. In one embodiment, the Ad-and-Content storage  117  stores data received by simulating human use of mobile telephones as well as data generated during intermediate processes. In one embodiment, the Ad-and-Content database  117  is of conventional type. The Ad-and-Content database  117  is a non-volatile memory or similar permanent storage device and media such as a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device for storing information on a more permanent basis. 
         [0035]      FIG. 2  is a block diagram of example hardware components of the behavior server  190  with a human-behavior generator  115   a  through  115   b , which resides in either the behavior server  190  or the data-collection server  116 . The human-behavior generator  115   a  through  115   b  represent a computing system dedicated to determine or measure user-behavior on web-connected mobile devices for viewing advertisement or other online content. In this embodiment, the behavior server  190  comprises: a first processor  235 , a first memory  237  and a first communication unit  245 , which may be a network I/F module. The first processor  235  comprises an arithmetic logic unit, a microprocessor, a general-purpose controller or some other processor array to perform computations and provide electronic display signals to a display device. The first processor  235  is coupled to the bus  220  for communication with the other components via a signal line  236 . The first processor  235  processes data signals and may comprise various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown in  FIG. 2  (as designated by reference to a first processor), multiple processors may be included. Other processors, operating systems, sensors, displays and physical configurations are possible. 
         [0036]    The first memory  237  stores instructions and/or data that may be executed by the first processor  235 . The first memory  237  is coupled to the bus  220  via a signal line  238  for communication with the other components. The instructions and/or data may comprise code for performing any and/or all of the techniques described herein. The first memory  237  may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, flash memory or some other memory device. 
         [0037]    The first communication unit  245 , as illustrated, is coupled to network  103 , by a signal line  246 , and is coupled to the bus  220 . The first communication unit  245  includes ports for wired connectivity such as but not limited to USB, SD, or CAT-5, etc. The first communication unit  245  links the first processor  235  to the network  103  that may in turn be coupled to other processing systems. The first communication unit  245  is configured to provide other connections to the network  103 , using standard network protocols such as TCP/IP, HTTP, HTTPS and SMTP. In other embodiments, the first communication unit  245  includes a transceiver for sending and receiving signals using Wi-Fi, Bluetooth® or cellular communications for wireless communication. The first communication unit  245  provides a communication path for the components of the client device  107   a - n  to the network  103  and other systems. 
         [0038]    The human-behavior generator  115   a - 115   b  includes a modeling module  204 , a controller  202 , and an instruction module  206 . The modeling module  204  is software, code, for simulating requests made by the mobile telephone and tablet simulators that are constructed to statistically model the measured behaviors of humans in aggregate. The modeling module  204  creates a weighted sample that can approximate the volume of advertising or content in aggregate. 
         [0039]    The controller  202  is software, code or routines for controlling the operations of the human-behavior generator  115   a  or  115   b . Further, the controller  202  instructs communication between the modeling module  204  and the instruction module  206 . 
         [0040]    The instruction module  206  is software, code or routines for providing instructions for modeling by the modeling module  204 . 
         [0041]      FIG. 3  illustrates an example device simulator  119   a - 119   n  within either a data-collection server  116 . The data-collection server  116  includes a second processor  335 , a second memory  337 , and a second communication unit  345 . 
         [0042]    The second processor  335  comprises an arithmetic logic unit, a microprocessor, a general-purpose controller or some other processor array to perform computations and provide electronic display signals to a display device. The second processor  335  is coupled to the bus  320  for communication with the other components via a signal line  336 . The second processor  335  processes data signals and may comprise various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown in  FIG. 2  (as designated by illustration of a single processor), multiple processors may be included. Other processors, operating systems, sensors, displays and physical configurations are possible. 
         [0043]    The second memory  337  stores instructions and/or data that may be executed by the first processor  335 . The second memory  337  is coupled to the bus  320  via a signal line  338  for communication with the other components. The instructions and/or data may comprise code for performing any and/or all of the techniques described herein. The second memory  337  may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, flash memory or some other memory device. 
         [0044]    The second communication unit  345 , as illustrated, is coupled to network  103 , by a signal line  346 , and is coupled to the bus  320 . The second communication unit  345  includes ports for wired connectivity such as but not limited to USB, SD, or CAT-5, etc. The second communication unit  345  links the second processor  335  to the network  103  that may in turn be coupled to other processing systems. The second communication unit  345  is configured to provide other connections to the network  103 , using standard network protocols such as TCP/IP, HTTP, HTTPS and SMTP. In other embodiments, the second communication unit  345  includes a transceiver for sending and receiving signals using Wi-Fi, Bluetooth® or cellular communications for wireless communication. The second communication unit  345  provides a communication path for the components of the client device  107   a - n  to the network  103  and other systems. 
         [0045]    The device simulator  119   a - 119   n  comprises a controller  302 , which is software, code, or routines for handling communications between the device simulator  119   a - 119   n  and other components of the data-collection server  116 . For example, the controller  302  is coupled to the bus  320  by signal line  322  to control the simulated requests of mobile use by request module  304  and the responses provided by the response module  306 . 
         [0046]    The request module  304  is software, code or routines for making inquiries and requests as if by mobile devices. The response module  306  is configured for receiving responses from the web servers. 
         [0047]    Referring now to  FIG. 4 , one embodiment of a general method  400  in accordance with the present invention, for gathering online advertisements or other web content via the Internet and telephone networks, by simulating human use of mobile communication or computing devices, including but not limited to, cellular telephones, tablet devices, or wearable devices, each using a computing device or a computing device connected to an actual mobile device is illustrated. The method  400  begins with one or more operations designated by block  402 , for generating simulated requests for data relating to online content (e.g., advertisements or other content elements) on a web page  109  that is rendered. The method  400  proceeds and in accordance with one or more operations designated by block  404  interacts with web servers based on the simulated requests. The method  400  proceeds to the next block  406  including one or more operations for receiving content and advertising data from web servers. The method  400  proceeds to an indication of “END,” which is simply to illustrate an end to the sequence of operations described above. It should be recognized that the method  400  described is by way of example and it may either include additional operations not described here or exclude any of the operations that are described. 
         [0048]    Referring now to  FIG. 5 , an example method  402  (from  FIG. 4 ) illustrating the process for generating simulated requests is illustrated and described. The method  402  begins by one or more operations designated by block  502  for measuring user-web interactions in aggregate. The method  402  proceeds to the next block  504 , including one or more operations for creating a statistical model based on measurement. The method  402  proceeds to the next block  506 , including one or more operations for constructing simulated user-requests based on the statistical model. The method  402  proceeds to the next block  508 , including one or more operations for sending the simulated user-requests to device simulators. The method  500  proceeds to an indication of “END,” which is simply to illustrate an end to the sequence of operations described above. It should be recognized that the method  500  described is by way of example and it may either include additional operations not described here or exclude any of the operations that are described. 
         [0049]    Referring now to  FIG. 6 , an example method  502  (from  FIG. 5 ) illustrating operations for collecting user-web interaction data is described. The method  502  begins and proceeds to a block  602  including one or more operations for collecting user-web interaction data informing on user-web interactions. The method  502  proceeds to the next block  604  for determining where users obtain data. The method  502  proceeds to the next block  606  including one or more operations for determining applications used by users. The method  502  proceeds to the next block  608  including one or more operations for determining behavior patterns derived from user-web interactions. The method  502  proceeds to an indication of “END,” which is simply to illustrate an end to the sequence of operations described above. It should be recognized that the method  502  described is by way of example and it may either include additional operations not described here or exclude any of the operations that are described. 
         [0050]    Referring now to  FIG. 7 , an example method  404  (from  FIG. 4 ) illustrating operations for simulating user-requests from a human-behavior generator and obtaining results from web servers based on these simulated user-requests is described. The method  404  begins and proceeds to a block  702 , including one or more operations for receiving simulated user-requests from the human-behavior generator (e.g., human-behavior generator  115   a  and  115   b ). The method  404  proceeds to the next block  704  including one or more operations for sending simulated user-requests to web servers. The method  404  proceeds to the next block  706  including one or more operations for receiving results of the simulated user-requests from the web servers. The method  404  proceeds to the next block  708  including one or more operations for storing the results of the simulated user-requests in the ad-and-content database. The method  404  proceeds to an indication of “END,” which is simply to illustrate an end to the sequence of operations described above. It should be recognized that the method  404  described is by way of example and it may either include additional operations not described here or exclude any of the operations that are described. 
         [0051]    Referring now to  FIG. 8 , one embodiment of an Ad-and-Content database  117  in accordance with the present invention is illustrated and described. The Ad-and-Content database  117  is data storage for storing data useful for the analytics engine  118  (in the analytics server  104 ) to perform its functionality. In the illustrated embodiment, the Ad-and-Content database  117  stores user-web interaction data  801 , including, for example, gaming applications, use of maps, telephone calls, web browsing, email collection etc. The Ad-and-Content database  117  also includes measurement data  803 . Examples of measurement data  803  is types of data that describe how users interact with websites, e.g., where they get their data, which applications they use, what behaviors are in aggregate, including data entry, clicking, gestures, scrolling, shaking, changing location, talking etc. The Ad-and-Content database  117  includes simulated user-request data  805  including data constructed by the human-behavior generator (e.g., human-behavior generator  115   a  or  115   b ) to statistically model the measured user-web interactions. The Ad-and-Content database  117  includes content and advertising data  807  including data returned by web servers in response to receiving simulated user-requests from the simulators. 
         [0052]    Systems and methods for measuring user behavior patterns from mobile web-connected devices are described here. The systems and methods determine advertising (“ad”) and content visibility on mobile devices and other indications of attention to or engagement with advertising or content both within servers, and on network connections. In the above description, for purposes of explanation, numerous specific details were set forth. It will be apparent, however, that the disclosed technologies can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form. For example, the disclosed technologies are described in one embodiment below with reference to user interfaces and particular hardware. Moreover, the technologies are disclosed above primarily in the context of the Internet and on-line advertising; however, the disclosed technologies apply to other types of advertising. 
         [0053]    Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosed technologies. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. 
         [0054]    Some portions of the detailed descriptions above were presented in terms of processes and symbolic representations of operations on data bits within a computer memory. A process can generally be considered a self-consistent sequence of steps leading to a result. The steps may involve physical manipulations of physical quantities. These quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals may be referred to as being in the form of bits, values, elements, symbols, characters, terms, numbers or the like. 
         [0055]    These and similar terms can be associated with the appropriate physical quantities and can be considered labels applied to these quantities. Unless specifically stated otherwise as apparent from the prior discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, may refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system&#39;s registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices. 
         [0056]    The disclosed technologies may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, flash memories including USB keys with non-volatile memory or any type of media suitable for storing electronic instructions, each coupled to a computer system bus. 
         [0057]    The disclosed technologies can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In one embodiment, the technology is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. 
         [0058]    Furthermore, the disclosed technologies can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. 
         [0059]    A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. 
         [0060]    Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. 
         [0061]    Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems and Ethernet cards are just a few of the currently available types of network adapters. 
         [0062]    Finally, the processes and displays presented herein may not be inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the disclosed technologies were not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the technologies as described herein. 
         [0063]    The foregoing description of the embodiments of the present techniques and technologies has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present techniques and technologies to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the present techniques and technologies be limited not by this detailed description. The present techniques and technologies may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the present techniques and technologies or its features may have different names, divisions and/or formats. Furthermore, the modules, routines, features, attributes, methodologies and other aspects of the present invention can be implemented as software, hardware, firmware or any combination of the three. Also, wherever a component, an example of which is a module, is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future to those of ordinary skill in the art of computer programming. Additionally, the present techniques and technologies are in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present techniques and technologies is intended to be illustrative, but not limiting.