Methods and apparatus to associate geographic locations with user devices
Summary by NHIP
Server associates device locations
A server associates geographic locations with user devices by processing requests containing source and monitoring information. The system identifies a location identifier by querying a service provider or parsing positioning data, then attributes a geographic location to the device.
Claim Score by NHIP
Abstract
Methods, apparatus, systems and articles of manufacture are disclosed to associate geographic locations with user devices. An example method includes receiving, at a server, a request including source identifying information and monitoring information, the monitoring information sent by a device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network. The example method also includes identifying a location identifier of the device based on the source identifying information and the monitoring information. The example method also includes attributing a geographic location to the device based on the location identifier.

Term
9.2 yearsleft in the term
Expires 2 December 2035, including 51 days of term adjustment.
- Priority
- Filed
- Granted
- Today
- Expires
20 claims: 6 independent, 14 dependent
- 1A method to associate a geographic location with a user device, the method comprising:receiving, at a server, a request including source identifying information and monitoring information, the monitoring information sent by a device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network;identifying a location identifier of the device based on the source identifying information and the monitoring information by querying a service provider for location information;and attributing a geographic location to the device based on the location identifier.
- 7A method to associate a geographic location with a user device, the method comprising:receiving, at a server, a request including source identifying information and monitoring information, the monitoring information sent by the user device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network;identifying a location identifier of the device based on the source identifying information and the monitoring information;attributing a geographic location to the device based on the location identifier;parsing the monitoring information for network identifying information corresponding to a network connection-type of the private network;and associating the source identifying information with the location identifier when the private network is a fixed-location network;in response to determining that the private network is a mobile network, querying a provider of the mobile network for location services information based on user identifying information identified in the monitoring information;and associating the location services information with the location identifier.
- 8An apparatus to associate a geographic location with a user device, the apparatus comprising:a beacon handler to receive a request including source identifying information and monitoring information, the monitoring information sent by the user device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network;a location identifier handler to identify a location identifier of the device based on the source identifying information and the monitoring information by querying a service provider;and a location mapper to attribute a geographic location to the device based on the location identifier.
- 14An apparatus to associate a geographic location with a user device, the apparatus comprising:a beacon handler to receive a request including source identifying information and monitoring information, the monitoring information sent by the user device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network;a location identifier handler to identify a location identifier of the device based on the source identifying information and the monitoring information;a location mapper to attribute a geographic location to the device based on the location identifier;a network classifier to classify a network connection-type of the private network based on network identifying information included in the monitoring information;the location identifier handler to associate the source identifying information with the location identifier when the network classifier classifies the private network as a fixed-location network;a location retriever to retrieve location services information based on user identifying information identified in the monitoring information when the network classifier classifies the private network as a mobile network;and the location identifier handler to associate the location services information with the location identifier.
- 15Broadest claimClaim Score 66, broad(NHIP)A tangible computer readable storage medium comprising instructions that, when executed, cause a machine to at least:receive a request including source identifying information and monitoring information, the monitoring information sent by a device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network;identify a location identifier of the device based on the source identifying information and the monitoring information by querying a service provider for location information;and attribute a geographic location to the device based on the location identifier.
- 20A tangible computer readable storage medium comprising instructions that, when executed, cause a machine to at least:responsive to a request including source identifying information and monitoring information, identify a location identifier of a device based on the source identifying information and the monitoring information the monitoring information sent by the device in response to accessing media, the source identifying information associated with a router connecting a private network to a public network;attribute a geographic location to the device based on the location identifier;parse the monitoring information for network identifying information corresponding to a network connection-type of the private network;associate the source identifying information with the location identifier when the private network is a fixed-location network;query a provider of the mobile network for location services information based on user identifying information identified in the monitoring information when the private network is a mobile network;and associate the location services information with the location identifier.
Independent claims6
159 paragraphs in 5 sections, as filed
RELATED APPLICATION
0001This patent claims the benefit of U.S. Provisional Patent Application No. 62/155,986, filed May 1, 2015, entitled “Methods and Apparatus to Associate Geographic Locations with Mobile Devices.” U.S. Provisional Patent Application No. 62/155,986 is hereby incorporated by reference in its entirety.
FIELD OF THE DISCLOSURE
0002This disclosure relates generally to audience measurement, and, more particularly, to methods and apparatus to associate geographic locations with user devices.
BACKGROUND
0003Audience measurement of media (e.g., any type of content and/or advertisements such as broadcast television and/or radio, stored audio and/or video played back from a memory such as a digital video recorder or a digital video disc, a webpage, audio and/or video presented (e.g., streamed) via the Internet, a video game, etc.) often involves collection of media identifying information (e.g., signature(s), fingerprint(s), code(s), tuned channel identification information, time of exposure information, etc.). Such audience measurement efforts typically also involve the collection of people data (e.g., user identifier(s), demographic data associated with audience member(s), etc.). The media identifying information and the people data can be combined to generate, for example, media exposure data indicative of amount(s) and/or type(s) of people that were exposed to specific piece(s) of media.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is diagram of an example environment in which a system constructed in accordance with the teachings of this disclosure operates to associate geographic locations with mobile devices.
<figref idref="DRAWINGS">FIG. 2</figref> is a diagram of an example message path illustrating metering of tagged media.
<figref idref="DRAWINGS">FIG. 3</figref> is a diagram of an example message path illustrating metering of tagged media via a fixed-location network.
<figref idref="DRAWINGS">FIG. 4</figref> is a diagram of an example message path illustrating metering of tagged media via a mobile network.
<figref idref="DRAWINGS">FIG. 5</figref> is a block diagram of an example implementation of the audience measurement entity of <figref idref="DRAWINGS">FIGS. 1-3 and/or 4</figref> that may facilitate associating geographic locations with mobile devices.
<figref idref="DRAWINGS">FIG. 6</figref> is an example tag including pseudo code that may be executed to generate a beacon in response to accessing tagged media at a user device.
<figref idref="DRAWINGS">FIG. 7</figref> is an example data table storing data representing tagged media impressions that may be collected by the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>.
<figref idref="DRAWINGS">FIG. 8</figref> is an example data table that may be stored by the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> representing profiles generated for users that accessed tagged media.
<figref idref="DRAWINGS">FIG. 9</figref> is a flowchart representative of example machine-readable instructions that may be executed by the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> to identify a reliable location identifier that may be used to associate a geographic location with user devices.
<figref idref="DRAWINGS">FIG. 10</figref> is a flowchart representative of example machine-readable instructions that may be executed by the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> to associate a geographic location with a user device.
<figref idref="DRAWINGS">FIG. 11</figref> is a flowchart representative of example machine-readable instructions that may be executed by the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> to identify source identifying information that may be associated with business locations.
<figref idref="DRAWINGS">FIG. 12</figref> is a flowchart representative of example machine-readable instructions that may be executed by the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> to generate a profile for a user associated with accessing tagged media.
<figref idref="DRAWINGS">FIG. 13</figref> is a block diagram of an example audience measurement server structured to execute the example machine-readable instructions of <figref idref="DRAWINGS">FIGS. 9-11 and/or 12</figref> to implement the example audience measurement entity server of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>.
0017Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.
DETAILED DESCRIPTION
0018Media may be used to convey many different types of information. For example, a web page may include media (e.g., visual images, video, audio, text, etc.) and/or links (e.g., uniform resource locators (URLs)) to media available on the Internet. In some examples, media may be used to disseminate advertisements to a mass audience. For example, sponsored media is media that is served (e.g., on web pages) (or otherwise distributed) and advertises, endorses, or otherwise conveys a message in support of a product, a service, a company, etc. of a person or entity paying (or otherwise sponsoring) the media provider to serve the sponsored media.
0019Companies and/or individuals want to understand the reach and effectiveness of the media (e.g., content and/or advertisements) that they produce. For example, media that is associated with larger numbers of exposures and/or larger numbers of occurrences of an association may be considered more effective at influencing user behavior. Furthermore, companies and/or individuals want to understand the demographics (e.g., age, gender, geographic location, etc.) of users exposed to the media.
0020Monitoring impressions of advertisements, endorsements, or other media served to users is useful for generating impression statistics (e.g., reach and/or frequency) of the advertisements, endorsements, or other media. For example, measuring “reach” may be useful for estimating the number of unique (e.g., different) users who have been exposed to the media. Thus, an impression is representative of the fact that member(s) of a home or an individual having been exposed to media (e.g., an advertisement, content, a group of advertisements and/or a collection of content, etc.). With respect to online media, a quantity of impressions or impression count is the total number of times media (e.g., an advertisement, an advertisement campaign, a streaming program, etc.) has been presented to and/or accessed by a web population.
0021Monitoring entities (sometimes referred to as “monitoring companies” or “audience measurement entities”) desire knowledge of how users interact with media and media devices such as smart phones, tablets, laptops, smart televisions, etc. In particular, media monitoring entities want to monitor media presentations made at the media devices to, among other things, monitor exposure to advertisements, determine advertisement effectiveness, determine user behavior, identify purchasing behavior associated with various demographics, etc.
0022However, not all exposures have the same value. For example, a proprietor of products and/or services that are only sold and/or available in Chicago may an advertisement for their products and/or services. In some such examples, an exposure to the advertisement by a user located in Miami is not as valuable to the proprietor as an exposure to the advertisement by a user located in Chicago. Examples disclosed herein facilitate serving relevant and meaningful media to users by associating the users with respective geographic locations.
0023Example methods, systems and apparatus disclosed herein may be used to collect monitoring information from a user device accessing tagged media, and then correlate a geographic location with the user device based on the monitoring information. Examples disclosed herein facilitate collecting monitoring information by tracking the monitoring information included in beacon(s) that are transmitted to the audience measurement entity in response to media request(s).
0024A user device (e.g., a mobile device), via a browser that renders media or a non-browser based application that presents media, requests the online media from a media provider (e.g., one or more content providers and/or advertising entities) by sending a request (e.g., a hypertext transfer protocol (HTTP) request and/or an HTTP secure (HTTPS) request) to an Internet address defined by a URL specified by the media provider. To enable monitoring of user access/exposure to media, in some examples, participating publishers and/or web sites insert or embed a tag within the source (e.g., Hypertext Markup Language (HTML) code) of the web pages that they serve. The tag may include JavaScript, Flash and/or other executable instructions, which cause exposure to the media to be tracked (e.g., recorded by an audience measurement entity) when the tag executes on a requesting browser.
0025Methods, apparatus and systems for tagging media are described in, for example, U.S. Pat. No. 6,108,637, by Blumenau, entitled “Content Display Monitor,” which is hereby incorporated by reference in its entirety. Because a tag is embedded in the media (e.g., HTML defining a web page and/or referenced by a pointer in the HTML of a web page), the tag is executed whenever a browser renders the corresponding media (e.g., the web page).
0026Typically, a tag will cause the browser to send a request (sometimes referred to herein as a “beacon”) to a data collection facility such as an audience measurement entity server that is associated with the audience measurement entity. In some examples, the beacon is an HTTP request (e.g., an HTTP GET request, an HTTP POST request, etc.). The beacon enables monitoring data reflecting information about the media access to be tracked. To this end, the beacon carries identification information to be collected, compiled and/or analyzed at the audience measurement entity server. The identification information may include a user agent string to identify the user device on which the media is requested, a media identifier to identify the media with which the tag is associated (e.g., a website address), a host identifier to identify the host (e.g., web server) with which the requested media is associated (e.g., a vendor identifier (VID)), a time stamp to identify the dates/times at which the media is requested, accessed and/or received, one or more command identifiers identifying control commands (e.g., pause, play, stop, etc.) acted upon the media, etc.
0027Example methods, systems and apparatus disclosed herein leverage information from the beacon to select a location identifier that can be mapped to a geographic location. In some disclosed examples, the beacon includes a network address (e.g., an internet protocol (IP) address) that is assigned to a requesting (e.g., source) device (e.g., a user device). Disclosed examples identify the network address in the beacon and determine if the network address is a reliable (e.g., accurate) identifier of a geographic location based on a network connection used to transmit the beacon. For example, the user device may access the Internet via a fixed network such as a Wi-Fi connection or a mobile network such as a cellular network. As used herein, a fixed network is a wired and/or wireless network that operates in a fixed (or nearly fixed) location. A fixed network typically includes a router/switch that is connected to a cable modem on one end and connected to one or more device(s) on the other end. Example fixed networks include Wi-Fi networks used in houses and small businesses (e.g., coffee shops, libraries, etc.).
0028When the network address is determined to be a reliable location identifier (e.g., the beacon was transmitted via a fixed network), examples disclosed herein map the reliable location identifier (e.g., the network address) to a geographic location. Disclosed examples access a geographic database that includes a list of location identifiers (e.g., network addresses) to map the network addresses to a corresponding geographic location. The list may be as precise as determining a network address to the nearest city block or to a geographic region (e.g., Cook County, Illinois).
0029In some examples, when a beacon is transmitted via a mobile network (e.g., a cellular network), the beacon may be routed through a large geographic region before being received at the audience measurement entity. For example, a cellular network provider may route all traffic within their cellular network that originates in the Midwest (e.g., Dallas, Tex.) through a gateway located in Chicago, Ill. In some such examples, the network address in the beacon corresponds to the gateway (e.g., Chicago) rather than to the beacon origination location (e.g., the user device in Dallas). Thus, when the beacon is transmitted via a mobile network, the network address is determined to be a non-reliable location identifier.
0030When the network address is determined to be a non-reliable location identifier (e.g., the beacon was transmitted via a mobile network), examples disclosed herein attempt to identify location services information (e.g., Global Positioning System (GPS) coordinates) in the beacon. In some disclosed examples, when a beacon is transmitted via a mobile network, the provider of the mobile network (e.g., a cellular network provider) may embed location services information of the mobile device in the beacon. Disclosed examples access a geographic database that includes a list of location identifiers (e.g., GPS coordinates) to map the location services information to a corresponding geographic location.
0031In some disclosed examples, the mobile network provider may not embed location services information in the beacon. In some such examples, disclosed examples retrieve a user identifier from the beacon and query location services information from the mobile network provider based on the user identifier. Disclosed examples then access a geographic database that includes a list of location identifier (e.g., GPS coordinates) to map the location services information to a corresponding geographic location.
0032Some disclosed examples generate user profiles that associate a user and/or user device to a home location based on the identified geographic locations. For example, disclosed examples may tally the number of impressions for the one or more geographic location(s) associated with the same user and/or user device. In some such examples, when the number of impressions for a geographic location-user pairing satisfies a threshold, the corresponding geographic location is designated a home location for the user and/or user device.
0033In some disclosed examples, the generated profiles are provided to the media providers to facilitate providing location-based media to users requesting media. For example, in response to a media request, the media provider may use a user identifier extracted from the media request and query a database of profiles for a matching user identifier. In some such examples, when the user identifier in the request matches a user identifier in the database, media associated with the corresponding home location is provided to the requesting device. In some examples when a match is not found, disclosed examples provide general (e.g., national or location-agnostic) media.
0034<figref idref="DRAWINGS">FIG. 1</figref> is an illustration of an example environment <b>100</b> in which examples disclosed herein may be implemented to associate user devices with respective geographic locations. The example environment <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref> includes an audience measurement entity (AME) server <b>105</b>, a media hosting server <b>110</b> and a user device <b>115</b>. In some examples, the AME server <b>105</b> is implemented using multiple devices and/or the media hosting server <b>110</b> is implemented using multiple devices. For example, the AME server <b>105</b> and/or the media hosting server <b>110</b> may include disk arrays or multiple workstations (e.g., desktop computers, workstation servers, laptops, etc.) in communication with one another.
0035In the illustrated example, the AME server <b>105</b> is in selective communication with the media hosting server <b>110</b> and/or the user device <b>115</b> via one or more wired and/or wireless networks represented by network <b>120</b>. Example network <b>120</b> may be implemented using any suitable wired and/or wireless network(s) including, for example, one or more data buses, one or more Local Area Networks (LANs), one or more wireless LANs, one or more cellular networks, the Internet, etc. In some examples, example network <b>120</b> may be implemented using two or more networks. For example, the user device <b>115</b> may be in communication with a network router via a private network (e.g., a fixed network such as a Wi-Fi network, a mobile network such as a cellular network, etc.), and the network router may be in communication with the AME server <b>105</b> and/or the media hosting server <b>110</b> via a public network such as the Internet. In some such examples, a message transmitted by the user device <b>115</b> is first communicated to the network router via the private network, and the message is then routed by the network router to the AME server <b>105</b> and/or the media hosting server <b>110</b> via the public network. As used herein, the phrase “in communication,” including variations thereof, encompasses direct communication and/or indirect communication through one or more intermediary components and does not require direct physical (e.g., wired) communication and/or constant communication, but rather additionally includes selective communication at periodic or aperiodic intervals, as well as one-time events.
0036In the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, an audience measurement entity (AME) operates and/or hosts the example AME server <b>105</b>. The AME of the illustrated example is an entity that monitors and/or reports access to tagged media. For example, the AME may provide reports and/or user profiles identifying geographic location and user device pairings. The AME server <b>105</b> of the illustrated example is a server and/or database that collects and/or receives monitoring information related to tagged media (e.g., media having inserted or embedded executable instructions that causes the media view (e.g., an impression) to be recorded by, for example, the AME server <b>105</b>). The AME of the illustrated example is a neutral entity that is not involved with the distributing of media.
0037In the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, a media provider operates and/or hosts the media hosting server <b>110</b> that responds to requests for media that may include tags. For example, the media provider may engage the AME to collect and/or monitor information related to media associated with the media provider. Such a media provider may wish to use tagged media in a media campaign to determine and/or improve the effectiveness of the media campaign. In some examples, the information returned in response to the request for media includes an instruction (e.g., a tag) to inform the AME server <b>105</b> of the accessing of tagged media. In some examples, the information returned in response to the request for media includes a reference to a tag and/or executable monitoring instructions. For example, the tag and/or executable monitoring instructions (e.g., an applet) may be hosted at the AME server <b>105</b>, which enables the AME to directly control the content of the tag and/or executable monitoring instructions. In some examples, the tag and/or executable monitoring instructions are hosted at the media hosting server <b>110</b>.
0038By including a reference to a tag and/or executable monitoring instructions in the media, the content of the tag (e.g., executable monitoring instructions) may be changed at any time without modifying the media. For example, the tag and/or executable monitoring instructions may be updated to improve efficiency of collecting information for tagged media by updating the executable instructions hosted at the AME server <b>105</b> and/or the media hosting server <b>110</b>. As shown above, the tag may reside wholly in the media or may be distributed between the media and the AME server <b>105</b> and/or the media hosting server <b>110</b>. Tagged media may, thus, include an executable monitoring instruction that serves as a tag or a reference to monitoring instructions stored at an external location such as a server. In the latter case, the reference may be considered a first tag or a first portion of a tag and the external instruction may be considered a second tag or a second portion of a tag. In some examples, the media hosting server <b>110</b> is operated and/or hosted by a third party. In addition, for simplicity, only one media hosting server <b>110</b> is shown in <figref idref="DRAWINGS">FIG. 1</figref>, although multiple media hosting servers are likely to be present.
0039In the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, the user device <b>115</b> is a smartphone (e.g., an Apple® iPhone®, a Motorola™ Moto X™, a Nexus 5, an Android™ platform device, etc.). However, any other type of device may additionally or alternatively be used such as, for example, a tablet (e.g., an Apple® iPad™, a Motorola™ Xoom™, etc.), a laptop computer, a desktop computer, a camera, an Internet compatible appliance, a smart TV, an Internet of Things-enabled device, etc. In the illustrated example, the user device <b>115</b> is used (e.g., by a user) to access (e.g., request, receive, render and/or present) online media that is tagged and returned by the media hosting server <b>110</b>. For example, the user may execute a web browser on the user device <b>115</b> to request streaming media (e.g., via an HTTP request or an HTTPS request) from the media hosting server <b>110</b>. In the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, the user device <b>115</b> sends media monitoring information to the AME server <b>105</b> in response to accessing the tagged media.
0040As discussed above, a media provider may engage the AME to collect and/or monitor information related to media associated with the media provider. For example, the media provider may want to compare the performances of three distinct pieces of media (e.g., media A, B, C) to one another and/or to other media and/or to an expected or desired performance (e.g., reach and/or frequency) of the three pieces of media (e.g., media A, B C). In the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, the AME server <b>105</b> includes an example tag handler <b>125</b> to facilitate tagging media A, B and C to enable the AME server <b>105</b> to track when and/or where media is requested by, for example, the user device <b>115</b>. In the illustrated example, the tag handler <b>125</b> of <figref idref="DRAWINGS">FIG. 1</figref> provides tags and/or references to tags to the media hosting server <b>110</b> for inserting into media. For example, the tag handler <b>125</b> may provide the media hosting server <b>110</b> an example tag A to include (e.g., insert, embed, etc.) in the media A, an example tag B to include in the media B, and an example tag C to include in the media C. As discussed above, a tag may be a reference to monitoring instructions such that the reference, but not the instructions are embedded in the media. Alternatively, the tag may be the executable monitoring instructions (e.g., an applet) and may be located directly in the media and/or at an external location accessible to the media.
0041In the illustrated example, the tag handler <b>125</b> generates a tag that is later included in media hosted by the media hosting server <b>110</b>. Based on the preferences of the media provider and or the AME, the tag handler <b>125</b> generates a tag that achieves the goals of the media provider and/or the AME. The tag handler <b>125</b> generates tags that enable the AME server <b>105</b> to collect and/or receive monitoring information related to the tagged media (e.g., media A, B and C). In some examples, the generated tags are then stored in a data structure such as a lookup table, and used by the tag handler <b>125</b> to facilitate tagging media.
0042In some examples, the tag handler <b>125</b> generates the tags (e.g., the tags A, B, C) and instructs the media hosting server <b>110</b> to include the tags (e.g., the tags A, B, C) into the corresponding media (e.g., media A, B and C). In other examples, the tag handler <b>125</b> generates the tags (e.g., the tags A, B, C) and embeds the tags (e.g., the tags A, B, C) into the corresponding media (e.g., media A, B and C) and then provides the tagged media (e.g., the media A including tag A, the media B including tag B, the media C including tag C) to the media hosting server <b>110</b>.
0043In some examples, the tag handler <b>125</b> generates the tags (e.g., the tags A, B, C) and instructs the media hosting server <b>110</b> to include references to the tags (e.g., the tags A, B, C) in the corresponding media (e.g., media A, B and C). For example, the media hosting server <b>110</b> may embed a tag A reference into the media A, a tag B reference into the media B, and a tag C reference into the media C. The tag references (A, B, C) may then be used to request the corresponding tag (e.g., the tag A, the tag B or the tag C). For example, when the media A including the tag A reference is accessed at the user device <b>115</b>, the user device <b>115</b> may also send a request for the tag A using the tag A reference. In some such examples, the tag handler <b>125</b> generates the tags (e.g., the tags A, B, C) and the tag references (e.g., references to the tags A, B, C) and provides the tag references (e.g., references to the tags A, B, C) to the media hosting server <b>110</b> to insert into the corresponding media (e.g., media A, B, C) while the tag handler <b>125</b> stores the tags (e.g., the tags A, B, C). Thus, when the user device <b>115</b> accesses the media including the tag reference, the user device <b>115</b> uses the tag reference to request the corresponding tag from the tag handler <b>125</b>.
0044In other examples, the tag handler <b>125</b> provides the tags (e.g., the tags A, B, C) and the tag references (e.g., references to the tags A, B, C) to the media hosting server <b>110</b>. In some examples, the tag handler <b>125</b> generates the tags (e.g., the tags A, B, C) and provides to the media hosting server <b>110</b> the tags (e.g., the tags A, B, C) to include in the corresponding media (e.g., media A, B, C) and instructions to generate references to the tags (e.g., the tags A, B, C). For example, the media hosting server <b>110</b> may host the media to be tracked (e.g., media A, B, C), the tags (e.g., the tags A, B, C), generate references to the tags A, B, C, and embed the references A, B, C into the corresponding media (e.g., media A, B, C). In some examples, when the user device <b>115</b> accesses the media including the tag reference, the user device <b>115</b> requests the corresponding tag from the media hosting server <b>110</b>. Thus, for example, when executable instructions of a tag need to be updated (e.g., replaced with executable instructions that improve efficiency in collecting media monitoring information), neither the media nor the reference to the tag included in the media needs to be modified. Rather, the tag handler <b>125</b> enables modifying only the tag on the server side (e.g., the instructions referenced by the tag included in the media).
0045As described above, some media served by the media hosting server <b>110</b> may be location-based or location-specific media. In some examples, in response to a media request from the user device <b>115</b>, the example media hosting server <b>110</b> utilizes user-location mappings to determine a home location associated with the user and/or user device <b>115</b> and serves media specific to the home location. For example, the media hosting server <b>110</b> may compare user identifying information included in the media request from the user device <b>115</b> to the user-location mappings and determine a home location. In some examples, if the media hosting server <b>110</b> is unable to map the user identifying information to a home location, the example media hosting server <b>110</b> may serve general or location-agnostic media such as media included in a national campaign.
0046To enable mapping user identifying information to home locations, the example AME server <b>105</b> includes an example profile generator <b>130</b> and an example profiles data store <b>135</b>. In the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, the AME server <b>105</b> includes the example profile generator <b>130</b> to generate a profile for a user and/or user device associated with a geographic location. The example profile generator <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> parses impressions logged by the AME server <b>105</b> and identifies a geographic location, most likely a home geographic location, of a user of a user device (e.g., the user device <b>115</b> of <figref idref="DRAWINGS">FIG. 1</figref>). For example, the profile generator <b>130</b> parses the impressions, selects a user identifier, and tallies the respective number of impressions for the one or more geographic locations associated with the user identifier.
0047In the illustrated example, the profile generator <b>130</b> stores the profiles generated for respective user identifiers in the user profiles data store <b>135</b>. An example data table <b>800</b> representing example data that may be stored in the example user profiles data store <b>135</b> is shown in the illustrated example of <figref idref="DRAWINGS">FIG. 8</figref>. The example user profiles data store <b>135</b> may be implemented by a volatile memory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatile memory (e.g., flash memory). The example user profiles data store <b>135</b> may additionally or alternatively be implemented by one or more double data rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR), etc. The example user profiles data store <b>135</b> may additionally or alternatively be implemented by one or more mass storage devices such as hard disk drive(s), compact disk drive(s), digital versatile disk drive(s), etc. While in the illustrated example the user profiles data store <b>135</b> is illustrated as a single database, the user profiles data store <b>135</b> may be implemented by any number and/or type(s) of databases.
0048<figref idref="DRAWINGS">FIG. 2</figref> is a diagram of an example message path illustrating metering of tagged media. In the illustrated example of <figref idref="DRAWINGS">FIG. 2</figref>, the user device <b>115</b> is in communication with the AME server <b>105</b> and/or the media hosting server <b>110</b> via a private network and a public network. For example, when the user device <b>115</b> sends a message (e.g., a request, a beacon, etc.) to the AME server <b>105</b> and/or the media hosting server <b>110</b>, the message is first transmitted from the user device <b>115</b> to an example router <b>205</b> via an example private network <b>210</b>. The example router <b>205</b> then transmits the message to the AME server <b>105</b> and/or the media hosting server <b>110</b> via an example public network <b>215</b> (e.g., the Internet). The example private network <b>210</b> may be implemented by a fixed network such as a Wi-Fi network and/or a mobile network such as a cellular network.
0049In the illustrated example of <figref idref="DRAWINGS">FIG. 2</figref>, the example user device <b>115</b> transmits a media request for media to the example media hosting server <b>110</b>, for example, via a browser and/or a non-browser based application. Communication between two entities on the Internet is conducted in accordance with certain protocols (e.g., the Internet Protocol (IP) (e.g., IPv4 or IPv6), the Transmission Control Protocol (TCP), etc.). In accordance with TCP/IP, each device in a network (e.g., a private network and/or a public network) is assigned a network address (e.g., an IP address) at which the device can be accessed via the respective network. For example, for communications transmitted via the private network <b>210</b>, the example user device <b>115</b> is assigned a first network address <b>220</b> and the example router <b>205</b> is assigned a second network address <b>225</b>. In the illustrated example of <figref idref="DRAWINGS">FIG. 2</figref>, for communications transmitted via the public network <b>215</b>, the router <b>205</b> is assigned a third network address <b>230</b>, the example AME server <b>105</b> is assigned a fourth network address <b>235</b> and the example media hosting server <b>104</b> is assigned a fifth network address <b>240</b>.
0050In the illustrated example, the router <b>205</b> is assigned two network addresses to communicate via the two networks to which it is connected. For example, the router <b>205</b> receives and/or transmits communications via the private network <b>210</b> at the example second network address <b>225</b>. In the illustrated example, the router <b>205</b> receives and/or transmits communications via the public network <b>215</b> at the example third network address <b>230</b>.
0051In addition, each message communicated in accordance with TCP/IP from a first device to a second device includes source identifying information (e.g., a network address associated with the first device), destination identifying information (e.g., a network address associated with the second device) and payload information corresponding to at least a portion of the message (e.g., the request for media, media monitoring information, etc.). In the illustrated example, the media request from the user device <b>115</b> to the media hosting server <b>110</b> is implemented as a first media request <b>245</b><i>a </i>from the user device <b>115</b> to the router <b>205</b> and a second media request <b>245</b><i>b </i>from the router <b>205</b> to the media hosting server <b>110</b>. For example, the first media request <b>245</b><i>a </i>includes source identifying information (e.g., the first network address <b>220</b> associated with the user device <b>115</b>), destination identifying information (e.g., the second network address <b>225</b> associated with the router <b>205</b>) and payload information corresponding to at least a portion of the message (e.g., the request for media). In a similar manner, the example second media request <b>245</b><i>b </i>includes source identifying information (e.g., the third network address <b>230</b> associated with the router <b>205</b>), destination identifying information (e.g., the fifth network address <b>240</b> associated with the media hosting server <b>110</b>) and payload information corresponding to at least a portion of the message (e.g., the request for media). In some examples, the media requests <b>245</b><i>a</i>, <b>245</b><i>b </i>include a user agent identifying characteristics of the user device <b>115</b> such as a browser identifier, a device identifier, etc. In some examples, the user agent information may be used to different between enterprise/business usage and consumer/residential usage. For example, certain user agents are known to be associated with mobile devices (e.g., a device identifier and/or a browser identifier associated with a smartphone or a tablet, etc.), while other user agents may be associated with user devices that are typically used in enterprises/businesses.
0052As described above in connection with <figref idref="DRAWINGS">FIG. 1</figref>, the media hosting server <b>110</b> of the illustrated example includes media (e.g., a website, an image, a video, etc.) that, when requested by the user device <b>115</b>, causes the media hosting server <b>110</b> to respond with media <b>250</b>. In the illustrated example of <figref idref="DRAWINGS">FIG. 2</figref>, the media <b>250</b> includes executable instructions such as an applet (e.g., an example tag <b>255</b>) that, when executed by the user device <b>115</b>, cause the user device <b>115</b> to send a communication (or beacon) including monitoring information to the AME server <b>105</b>. The tag <b>255</b> may be included in the requested media in accordance with the teachings of Blumenau, U.S. Pat. No. 6,120,637. Accordingly, the user device <b>115</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 2</figref> transmits an example beacon <b>260</b> to the AME server <b>105</b> via the router <b>205</b>.
0053In some such examples, the beacon <b>260</b> is a “dummy request” in that it is not actually intended to return data. Instead, the beacon <b>260</b> is used to carry monitoring information to the AME server <b>105</b>. In some examples, the beacon <b>260</b> is implemented as an HTTP POST message, an HTTP GET message, or similar message used in present and/or future HTTP protocols.
0054The AME server <b>105</b> of the illustrated example records that a request (e.g., the beacon <b>260</b>) was received from the router <b>205</b> and also records any data contained in the beacon <b>260</b> (e.g., source identifying information, destination identifying information and/or the payload information (e.g., media monitoring information)). The AME server <b>105</b>, in some examples, responds to the request with an acknowledgement message. In some examples, the acknowledgement message requests and/or sets a cookie in the user device <b>115</b> to, for example, enable identification of subsequent beacons from the same user device. In some examples, the acknowledgement message requests and/or stores an AME generated user identifier at a local storage (e.g., web storage and/or Document Object Model (DOM) storage provided by, for example, HTML5) within, for example, a browser.
0055<figref idref="DRAWINGS">FIG. 3</figref> is a diagram of an example message path illustrating a portion of the message path of <figref idref="DRAWINGS">FIG. 2</figref>. In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, the example message path illustrates a user device transmitting media monitoring information to an AME server via a fixed network and a public network. Specifically, the example message path of <figref idref="DRAWINGS">FIG. 3</figref> includes the user device <b>115</b> (<figref idref="DRAWINGS">FIGS. 1 and/or 2</figref>) in communication with an example router <b>305</b> via a private network (e.g., the example private network <b>210</b> of <figref idref="DRAWINGS">FIG. 2</figref>). In the illustrated example, the private network between the user device <b>115</b> and the router <b>305</b> is implemented by an example Wi-Fi network <b>310</b>. The example router <b>305</b> of <figref idref="DRAWINGS">FIG. 3</figref> is in communication with the AME server <b>105</b> via the example public network <b>215</b> of <figref idref="DRAWINGS">FIG. 2</figref> (e.g., the Internet). In some examples, router <b>305</b> is in communication with the public network <b>215</b> via an Internet Service Provider, which is typically a wired communication.
0056As described above, to communicate with other devices within their respective networks, the devices are assigned network addresses. For example, the user device <b>115</b> is assigned the first network address <b>220</b> to identify the user device <b>115</b> to devices accessing the Wi-Fi network <b>310</b> (e.g., the example router <b>305</b> or a proxy server).
0057Network routers connect one network to another network. Accordingly, network routers are assigned different network addresses within the different networks. In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, to access the router <b>305</b> within the Wi-Fi network <b>310</b> (e.g., the user device <b>115</b>), the router <b>305</b> is assigned a second network address <b>315</b>. To access the router <b>305</b> within the public network <b>215</b> (e.g., the AME server <b>105</b> and/or the example media hosting server <b>110</b>), the router <b>305</b> is assigned a third network address <b>320</b>. The example AME server <b>105</b> of <figref idref="DRAWINGS">FIG. 3</figref> is assigned the fourth example network address <b>235</b> to identify the AME server <b>105</b> to devices accessing the public network <b>215</b> (e.g., the example router <b>305</b> and/or the example media hosting server <b>110</b> of <figref idref="DRAWINGS">FIGS. 1 and/or 2</figref>).
0058In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, the user device <b>115</b> transmits media monitoring information to the AME server <b>105</b> (e.g., in response to the user device <b>115</b> presenting the tagged media <b>250</b> (<figref idref="DRAWINGS">FIG. 2</figref>) and executing the executable instructions of the example tag <b>255</b>. More specifically, in response to executing the executable instructions (e.g., the tag <b>255</b>), the user device <b>115</b> transmits an example beacon <b>325</b><i>a </i>to the router <b>305</b> via the Wi-Fi network <b>310</b>. The example beacon <b>325</b><i>a </i>includes source identifying information <b>330</b> (e.g., the first example network address <b>220</b> associated with the user device <b>115</b>), destination identifying information <b>335</b> (e.g., the second example network address <b>315</b> associated with the router <b>305</b>) and payload information (e.g., media monitoring information <b>340</b>). For example, the media monitoring information <b>340</b> of <figref idref="DRAWINGS">FIG. 3</figref> includes user identifying information <b>345</b>, location services information <b>350</b>, media identifying information <b>355</b>, a time stamp <b>360</b> and network identifying information <b>365</b>.
0059In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, the user identifying information <b>345</b> is an alphanumeric string that uniquely identifies a user and/or the user device. For example, a user may sign-in to an application with a user identifier. The example user identifier is then associated with the activities of the user. For example, requests to the media hosting server <b>110</b> from the user device <b>110</b> and/or beacons transmitted to the AME server <b>105</b> may include the user identifier. The user identifier may include a handle, a screen name, a panelist identifier, a login or sign-on name, an email address, an advertising identifier (e.g., an iOS adID, an Android IDFA, etc.), etc. In some examples, the user identifying information <b>345</b> is an alphanumeric string that unique identifies the user device <b>115</b>. For example, the user identifying information may include a Media Access Control (MAC) address, an international mobile equipment identity (IMEI) number, a telephone number, an advertising identifier (e.g., an iOS adID, an Android IDFA, etc.), etc.
0060In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, the location services information <b>350</b> is location services data corresponding to a geographic location at which the user device <b>115</b> accessed the media <b>250</b>. For example, the user device <b>115</b> may include a positioning system (e.g., implemented by a global positioning system (GPS)) to enable identification of the geographic location of the user device <b>115</b>. In some such examples, when the user permits the user device <b>115</b> and/or an application to access the positioning system, the user device <b>115</b> and/or the application inserts data specifying the device location (e.g., GPS coordinates). In some examples, a user device may not include a positioning system and/or a geographic location information receiving interface and/or the application requesting the media (e.g., a browser) may not have access to the positioning system of the user device. In some such examples, the user device transmits the beacon <b>325</b><i>a </i>without location services information.
0061In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, the media identifying information <b>355</b> is data specifying the media. For example, the media identifying information <b>355</b> may include a filename, a universal resource locator (URL), a website address, a watermark, a signature, metadata, etc. In the illustrated example, the time stamp <b>360</b> corresponds to a date and/or time when the media was accessed (e.g., information specifying when the user was exposed to the media <b>250</b> and/or when the media <b>250</b> was received at the user device <b>115</b>). In the illustrated example, the network identifying information <b>365</b> is an indicator of the type of network used by the user device <b>115</b> to transmit the beacon <b>325</b><i>a</i>. For example, the network identifying information <b>365</b> may indicate whether the beacon <b>325</b><i>a </i>was transmitted via a cellular network or a Wi-Fi network. In some examples, the network identifying information <b>365</b> indicates which network radio of the user device <b>115</b> was enabled. For example, the network identifying information <b>365</b> may indicate whether a Wi-Fi radio was enabled or a cellular radio was enabled. In some examples, the network identifying information <b>365</b> may identify additional information regarding the network such as the frequency, the band and/or the cellular radio type (e.g., 3G, 4G, LTE, etc.) used to transmit the beacon <b>325</b><i>a. </i>
0062The example router <b>305</b> of <figref idref="DRAWINGS">FIG. 3</figref> then transmits a beacon <b>325</b><i>b </i>to the AME server <b>105</b> via the public network <b>215</b>. In the illustrated example, the beacons <b>325</b><i>a</i>, <b>325</b><i>b </i>represent the same beacon at different points in time. The example beacon <b>325</b><i>b </i>includes the media monitoring information <b>340</b> included in the beacon <b>325</b><i>a </i>transmitted by the user device <b>115</b>. However, in the illustrated example, the source identifying information <b>330</b> included in the user device-originated beacon <b>325</b><i>a </i>and the source identifying information <b>330</b> included in the router-originated beacon <b>325</b><i>b </i>are different. For example, the source identifying information <b>330</b> included in the device-originated beacon <b>325</b><i>a </i>identifies the first network address <b>220</b> associated with the user device <b>115</b>. In contrast, the source identifying information <b>330</b> included in the router-originated beacon <b>325</b><i>b </i>identifies the third network address <b>320</b> associated with the router <b>305</b>.
0063In some examples, the router <b>305</b> encrypts the information included in the beacon <b>325</b><i>b </i>prior to transmitting the beacon <b>325</b><i>b </i>to the AME server <b>105</b>. The AME server <b>105</b> of the illustrated example records that a request (e.g., the beacon <b>325</b><i>b</i>) was received from the router <b>305</b> and also records any data contained in the beacon <b>325</b><i>b </i>(e.g., source identifying information <b>330</b>, media monitoring information <b>345</b>, a cookie, etc.). Accordingly, the AME server <b>105</b> of the illustrated example records the third network address <b>320</b> associated with the router <b>305</b> as the source of the beacon <b>325</b><i>b. </i>
0064Typically, the source identifying information (e.g., the network address) in a message is used to associate a geographic location with the user. For example, a database may map IP addresses to corresponding geographic locations. However, as described above, the source identifying information of the beacon may not represent the user device that originated the beacon. Instead, in some examples, the source identifying information may represent an intermediary device (e.g., the router <b>305</b> or a proxy server) that transmitted the beacon <b>325</b><i>b </i>to the AME server <b>105</b>. Thus, the source identifying information <b>330</b> retrieved from the beacon is not always a reliable identifier of the geographic location of the user when accessing the media identified in the beacon.
0065In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, the AME server <b>105</b> parses the beacon <b>325</b><i>b </i>for location services information <b>350</b>. In some such examples, the AME server <b>105</b> utilizes the location services information <b>350</b> retrieved from the beacon to identify a geographic location to associate with the user and/or the user device <b>115</b>. For example, the AME server <b>105</b> may map GPS coordinates included in the beacon <b>325</b><i>b </i>to a geographic location.
0066In some examples, when the AME server <b>105</b> determines that the beacon <b>325</b><i>b </i>does not include location services information (e.g., does not include GPS coordinates), the AME server <b>105</b> parses the received beacon to determine whether the source identifying information is a reliable location identifier. For example, when a user device <b>115</b> transmits a beacon (e.g., the beacon <b>325</b><i>a</i>) via the Wi-Fi network <b>310</b>, the location of the user device <b>115</b> and the router <b>305</b> are within the same general geographic area (e.g., the user device <b>115</b> is within <b>30</b> meters of the router <b>305</b> and/or a proxy server). For example, the AME server <b>105</b> may compare the source identifying information <b>330</b> to network addresses associated with Internet Service Providers (ISPs), cellular network providers, etc. In some examples, the AME server <b>105</b> may use network identifying information <b>365</b> included in the beacon <b>325</b><i>b </i>to determine the network connection used to transmit the beacon from the user device <b>115</b>. In the illustrated example of <figref idref="DRAWINGS">FIG. 3</figref>, when the AME server <b>105</b> determines that the source identifying information <b>330</b> corresponds to communication via the Wi-Fi network <b>310</b>, the location of the user device <b>115</b> can be assumed to be within the same general geographic area as the router <b>305</b>. Accordingly, the AME server <b>105</b> utilizes the source identifying information of the router <b>305</b> (e.g., the third example network address <b>320</b>) as an identifier of the geographic location of the user and/or the user device <b>115</b>.
0067<figref idref="DRAWINGS">FIG. 4</figref> is a diagram of another example message path illustrating a portion of the message path of <figref idref="DRAWINGS">FIG. 2</figref>. In the illustrated example of <figref idref="DRAWINGS">FIG. 4</figref>, the example message path illustrates a user device transmitting media monitoring information to an AME server via a mobile network and a public network. Specifically, the example message path of <figref idref="DRAWINGS">FIG. 4</figref> includes the user device <b>115</b> (<figref idref="DRAWINGS">FIGS. 1 and/or 2</figref>) in communication with an example router <b>405</b> via a private network (e.g., the example private network <b>210</b> of <figref idref="DRAWINGS">FIG. 2</figref>). In the illustrated example of <figref idref="DRAWINGS">FIG. 4</figref>, the private network between the user device <b>115</b> and the router <b>405</b> is implemented by an example cellular network <b>410</b>. To communicate via the cellular network <b>410</b>, the example user device <b>115</b> is assigned the network address <b>220</b> (<figref idref="DRAWINGS">FIG. 2</figref>) and the router <b>405</b> is assigned a cellular network-network address <b>412</b>. The example router <b>405</b> of <figref idref="DRAWINGS">FIG. 4</figref> is in communication with the AME server <b>105</b> via the example public network <b>215</b> of <figref idref="DRAWINGS">FIG. 2</figref> (e.g., the Internet). To communicate via the public network <b>215</b>, the example router <b>405</b> is assigned a public network-network address <b>414</b> and the AME server <b>105</b> is assigned the network address <b>235</b> (<figref idref="DRAWINGS">FIG. 2</figref>).
0068In the illustrated example of <figref idref="DRAWINGS">FIG. 4</figref>, a cellular network provider <b>416</b> maintains the router <b>405</b> and provides the cellular network <b>410</b>. The example cellular network provider <b>416</b> of <figref idref="DRAWINGS">FIG. 4</figref> also maintains an example antenna database <b>420</b> and an example logger <b>425</b>. The example cellular network provider <b>416</b> implements the cellular network <b>410</b> of <figref idref="DRAWINGS">FIG. 4</figref> via example antennas <b>430</b>. Messages communicated within the cellular network <b>410</b> are transmitted between one or more antennas <b>430</b> prior to being received at the router <b>405</b>. For example, a first antenna <b>430</b><i>a </i>may receive a message from the user device <b>115</b> and forward the message to a second antenna <b>430</b><i>b</i>, which may then forward the message to another antenna <b>430</b> until an antenna <b>430</b><i>n </i>forwards the message to the router <b>405</b>. In addition, each of the antennas <b>430</b> in the cellular network <b>410</b> are assigned a respective network address (e.g., a cellular network-network address) that may be used to access the respective antenna <b>430</b>.
0069The example cellular network provider <b>416</b> maintains the example antenna database <b>420</b> to associate the antennas <b>430</b> with respective geographic locations. For example, the antenna database <b>420</b> may map an antenna identifier (e.g., a device identifier, a network address, etc.) of an antenna <b>430</b> to corresponding location services information (e.g., GPS coordinates provided by a positioning system). The example antenna database <b>420</b> may be implemented by a volatile memory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatile memory (e.g., flash memory). The example antenna database <b>420</b> may additionally or alternatively be implemented by one or more double data rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR), etc. The example antenna database <b>420</b> may additionally or alternatively be implemented by one or more mass storage devices such as hard disk drive(s), compact disk drive(s), digital versatile disk drive(s), etc. While in the illustrated example the antenna database <b>420</b> is illustrated as a single database, the antenna database <b>420</b> may be implemented by any number and/or type(s) of databases.
0070The example logger <b>425</b> of <figref idref="DRAWINGS">FIG. 4</figref> logs communications routed through the cellular network <b>410</b> in, for example, the antenna database <b>420</b>. For example, the logger <b>425</b> may log the path taken by messages by recording an antenna identifier such as the network address of an antenna that receives a message, an antenna identifier of an antenna that forwards a message, a time tamp representing when the message was transmitted by and/or received at the respective antenna <b>430</b>, etc. In the illustrated example, the logger <b>425</b> leverages knowledge of the cellular network <b>410</b> to associate location services information (e.g., GPS coordinates) with the respective antennas <b>430</b>. For example, the logger <b>425</b> may query the antenna database <b>420</b> for GPS coordinates for an antenna using an identifier of the antenna. In some examples, the router <b>405</b> and/or the logger <b>425</b> may encrypt information included in messages prior to transmitting and/or forwarding the message.
0071In operation, in response to presenting requested media including a tag (e.g., the media <b>250</b> of <figref idref="DRAWINGS">FIG. 2</figref> including the tag <b>255</b>), the user device <b>115</b> executes the executable instructions (e.g., the corresponding tags), which causes the user device <b>115</b> to send media monitoring information to the AME server <b>105</b>. In the illustrated example, in response to executing the executable instructions, the user device <b>115</b> transmits an example user device-originated beacon <b>435</b><i>a </i>via the cellular network <b>410</b>. A first antenna <b>430</b><i>a </i>receives the user device-originated beacon <b>435</b><i>a </i>and forwards the media monitoring information <b>340</b> to a second antenna <b>430</b><i>b</i>, etc., until an antenna <b>430</b><i>n </i>forwards the media monitoring information <b>340</b> to the router <b>405</b>. For example, the example antenna <b>430</b><i>n </i>may forward an antenna-originated beacon <b>435</b><i>b </i>including the media monitoring information <b>340</b> to the router <b>405</b>. In the illustrated example, the example router <b>405</b> receives the antenna-originated beacon <b>435</b><i>b </i>from the antenna <b>430</b><i>n </i>in the cellular network <b>410</b> at the cellular network-network address <b>412</b> of the router <b>405</b>. Additionally or alternatively, the first antenna <b>430</b><i>a </i>may forward the media monitoring information <b>340</b> to the router <b>405</b> via, for example, a land connection. In some examples, using a land connection to forward the media monitoring information <b>340</b> to the router <b>405</b> may be advantageous to the cellular network provider <b>416</b> in conserving the wireless capacity of their network.
0072The example logger <b>425</b> records the path taken by the beacon <b>435</b> from the user device <b>115</b> to the router <b>405</b> via one or more of the antenna(s) <b>430</b>. For example, the logger <b>425</b> may record an antenna identifier associated with the first antenna that received the user device-originated beacon <b>435</b><i>a</i>, an antenna identifier associated with a second antenna that received forwarded information from the first antenna, etc., a time stamp identifying when the antenna-originated beacon <b>435</b><i>b </i>was received at the router <b>405</b>, etc. In some examples, the logger <b>425</b> modifies the media monitoring information <b>340</b> included in the antenna-originated beacon <b>435</b><i>b </i>to include location services information. For example, the logger <b>425</b> may leverage the antenna-geographic location mappings included in the antenna database <b>420</b> and insert (e.g., embed) GPS coordinates associated with the first antenna <b>430</b><i>a </i>that received the user device-originated beacon <b>435</b><i>a </i>from the user device <b>115</b>. In some such examples, the router-originated beacon <b>435</b><i>c </i>includes the location services information <b>350</b> provided by the logger <b>425</b>. In some examples, the router <b>405</b> and/or the logger <b>425</b> encrypts the media monitoring information <b>340</b>.
0073In the illustrated example of <figref idref="DRAWINGS">FIG. 4</figref>, the router <b>405</b> forwards the router-originated beacon <b>435</b><i>c </i>to the AME server <b>105</b> via the public network <b>215</b>. The AME server <b>105</b> of the illustrated example records that a request (e.g., the router-originated beacon <b>435</b><i>c</i>) was received from the router <b>405</b> and also records any data contained in the router-originated beacon <b>435</b><i>c </i>(e.g., the source identifying information <b>330</b>, the media monitoring information <b>340</b>, etc.). As described above, the AME server <b>105</b> of the illustrated example records the source identifying information of the device (e.g., the router <b>405</b>) that transmitted the router-originated beacon <b>435</b><i>c </i>to the AME server <b>105</b>. Accordingly, the AME server <b>105</b> records the public network-network address <b>414</b> of the router <b>405</b>.
0074In the illustrated example of <figref idref="DRAWINGS">FIG. 4</figref>, the beacons <b>435</b><i>a</i>, <b>435</b><i>b</i>, <b>435</b><i>c </i>are transmitting the same media monitoring information <b>340</b>, but include different source identifying information <b>330</b> and destination identifying information <b>335</b>. For example, the user device-originated beacon <b>435</b><i>a </i>includes source identifying information corresponding to the network address <b>220</b> of the user device <b>115</b> and destination identifying information corresponding to the first antenna <b>430</b><i>a </i>in the cellular network <b>410</b>. The example antenna-originated beacon <b>435</b><i>b </i>includes source identifying information corresponding to a network address of the antenna <b>430</b><i>n </i>and destination identifying information corresponding to the cellular network-network address <b>412</b> of the router <b>405</b>. The example router-originated beacon <b>435</b><i>c </i>includes source identifying information corresponding to the public network-network address <b>414</b> of the router and destination identifying information corresponding to the network address <b>235</b> of the AME server <b>105</b>. In the illustrated example, the media monitoring information <b>340</b> correspond to the media (e.g., the media <b>250</b>) accessed at the user device <b>115</b>. In some examples, the media monitoring information <b>340</b> received at the AME server <b>105</b> may additionally or alternatively include location services information provided by the logger <b>425</b>.
0075In the illustrated example, when a cellular network is used to transmit a beacon, the location of the user device and the router may be or may not be within the same general area and, thus, the source identifying information retrieved by the AME server from the beacon <b>435</b> may not be a reliable identifier of the geographic location of the user of the user device. For example, consider an example in which the cellular network provider <b>416</b> operates in the Midwest and directs all traffic within the cellular network <b>410</b> to the router <b>405</b>, which is located in Chicago, Ill. In some such examples, the media monitoring information <b>340</b> may originate in, for example, Dallas, Tex., and be routed through a series of antennas <b>430</b> before finally being received by the router <b>405</b> in Chicago. Accordingly, the geographic location of the router <b>405</b> (e.g., Chicago, Ill.) is not a reliable identifier of the geographic location of the user of the user device <b>115</b> (e.g., Dallas, Tex.).
0076In the illustrated example of <figref idref="DRAWINGS">FIG. 4</figref>, the AME server <b>105</b> parses the router-originated beacon <b>435</b><i>c </i>to determine whether the source identifying information is a reliable location identifier. As described above, the AME server <b>105</b> parses the router-originated beacon <b>435</b><i>c </i>for location services information. For example, the user device <b>115</b> may include a positioning system (e.g., implemented by a global positioning system (GPS)) to enable identification of the geographic location of the user device <b>115</b>. In some such examples, when the user permits the user device <b>115</b> and/or an application to access the positioning system, the user device <b>115</b> and/or the application inserts data specifying the device location (e.g., GPS coordinates). In the illustrated example, when the AME server <b>105</b> determines that the router-originated beacon <b>435</b><i>c </i>does not include location services information, the example AME server <b>105</b> determines whether the source identifying information is a reliable location identifier based on the network connection type used by the user device <b>115</b> to communicate the media monitoring information <b>340</b>.
0077Additionally or alternatively, the cellular network provider <b>416</b> may insert location services information in the router-originated beacon <b>435</b><i>c </i>transmitted to the AME server <b>105</b>. For example, the logger <b>425</b> may insert (e.g., in the router-originated beacon <b>435</b><i>c</i>) GPS coordinates associated with the first antenna <b>430</b><i>a </i>that received the user device-originated beacon <b>435</b><i>a</i>. In the illustrated example, in order for the user device <b>115</b> to connect with the first antenna <b>430</b><i>a</i>, the user device <b>115</b> and the first antenna <b>430</b><i>a </i>are assumed to be in the same general area. In some such examples, the AME server <b>105</b> utilizes the location services information retrieved from the router-originated beacon <b>435</b><i>c </i>to identify a geographic location to associate with the user and/or the user device <b>115</b>. However, if a user device does not include a positioning system and/or a geographic location information receiving interface and/or the application requesting the media (e.g., a browser) does not have access to the positioning system of the user device and/or the logger <b>425</b> does not insert location services information, the router-originated beacon <b>435</b><i>c </i>is received by the AME server <b>105</b> without location services information.
0078In some examples, the AME server <b>105</b> may determine that the source identifying information <b>330</b> is an unreliable location identifier (e.g., the beacon was transmitted via the cellular network <b>410</b>) and that the received router-originated beacon <b>435</b><i>c </i>does not include location services information <b>350</b>. In some such examples, the AME server <b>105</b> requests location services information from the cellular network provider <b>416</b>. For example, the AME server <b>105</b> may send a request <b>440</b> querying the cellular network provider <b>416</b> using the user identifying information <b>345</b> and/or the time stamp <b>360</b> extracted from the router-originated beacon <b>435</b><i>c</i>. In some such examples, the logger <b>425</b> receives the request <b>440</b> for location services information and returns location services information retrieved from the antenna database <b>420</b> based on the user identifying information <b>345</b> and/or the time stamp <b>360</b>. For example, the logger <b>425</b> may identify a recorded message path based on the user identifying information <b>345</b> and/or the time stamp <b>360</b>. In some such examples, the logger <b>425</b> may map the identified message path to the first antenna <b>430</b><i>a </i>that received the corresponding user device-originated beacon <b>435</b><i>a </i>and query the antenna database <b>420</b> for location services information (e.g., GPS coordinates) for the corresponding antenna <b>430</b>.
0079<figref idref="DRAWINGS">FIG. 5</figref> is a block diagram of an example implementation of the AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-3 and/or 4</figref>. The example AME server <b>105</b> of the illustrated example includes the example tag handler <b>125</b>, the example profile generator <b>130</b>, the example user profiles data store <b>135</b>, an example beacon handler <b>505</b>, an example beacon parser <b>510</b>, an example decrypter <b>515</b>, an example tagged impression logger <b>520</b>, an example tagged impressions database <b>525</b>, an example network classifier <b>530</b>, an example location identifier handler <b>535</b>, an example location retriever <b>540</b>, an example location mapper <b>545</b>, an example geographic database <b>550</b>, an example location classifier <b>555</b> and an example time stamper <b>560</b>. As discussed above, the AME server <b>105</b> includes the example tag handler <b>125</b> to facilitate tagging media. For example, the tag handler <b>125</b> may instruct the media hosting server <b>110</b> to insert the tag <b>255</b> (which may be a reference to an external tag) into the media <b>250</b>. For example, the tag handler <b>125</b> may provide the media hosting server <b>110</b> executable instructions (e.g., the tag <b>255</b>, an applet, etc.) to embed into the media <b>250</b>. In some examples, the tag handler <b>125</b> instructs the media hosting server <b>110</b> to insert a reference to the tag <b>255</b> into the media <b>250</b> and the tag <b>255</b> is hosted outside the media. In some such examples, when the user device <b>115</b> accesses the media <b>250</b>, the user device <b>115</b> also sends a request for the tag <b>255</b> using the reference. In the illustrated example, when the tag handler <b>125</b> instructs the media hosting server <b>110</b> to insert a reference to the tag <b>255</b>, the tag <b>255</b> may be hosted at the media hosting server <b>110</b> and/or at the AME server <b>105</b>.
0080In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example beacon handler <b>505</b> to facilitate communication with user devices (e.g., the user device <b>115</b> of <figref idref="DRAWINGS">FIGS. 1-3 and/or 4</figref>). For example, the beacon handler <b>505</b> may receive dummy requests from the user device <b>115</b> executing the executable instructions (e.g., the tag <b>255</b>). In some examples, the beacon handler <b>505</b> sends an acknowledgement response to the user device <b>115</b> in response to receiving the dummy request. In other examples, the beacon handler <b>505</b> provides no response.
0081In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example beacon parser <b>510</b> to extract information (e.g., the source identifying information <b>330</b>, the media monitoring information <b>340</b>, etc.) included in a received beacon (e.g., the example beacon <b>325</b><i>b </i>of <figref idref="DRAWINGS">FIG. 3</figref>, the example beacon <b>435</b><i>c </i>of <figref idref="DRAWINGS">FIG. 4</figref> and/or, more generally, the example beacon <b>260</b> of <figref idref="DRAWINGS">FIG. 2</figref>). For example, the beacon parser <b>510</b> may identify the location services information <b>350</b> of <figref idref="DRAWINGS">FIGS. 3 and/or 4</figref> included in the media monitoring information <b>340</b>. In some examples, the beacon parser <b>510</b> may identify a user agent and/or a beacon header identifying an application and/or the user device <b>115</b>. For example, the user agent may include a media access control (MAC) address, an international mobile equipment identity (IMEI) number, a telephone number, etc. associated with the user device <b>115</b> (e.g., the user identifying information <b>345</b> of <figref idref="DRAWINGS">FIGS. 3 and/or 4</figref>).
0082In some examples, the beacon parser <b>510</b> may identify a media identifier identifying the media that was accessed at the user device <b>115</b> (e.g., the media identifying information <b>355</b> of <figref idref="DRAWINGS">FIGS. 3 and/or 4</figref>)). In some examples, the beacon parser <b>510</b> may identify and/or set a cookie enabling identification of subsequent beacons from the same user device. In some examples, the beacon parser <b>510</b> may be unable to identify location services information <b>350</b> in the beacon <b>260</b>. For example, when the media monitoring information <b>340</b> is sent from a user device that does not include a positioning system and/or does not have access to a positioning system, the beacon <b>260</b> will not have the location services information <b>350</b>. In addition, the beacon <b>260</b> may not include the location services information <b>350</b> when the media monitoring information <b>340</b> is communicated from the user device <b>115</b> to the AME server <b>105</b> via a mobile network (e.g., the example cellular network <b>410</b> of <figref idref="DRAWINGS">FIG. 4</figref>) that does not modify the media monitoring information <b>340</b> to include location services information.
0083In some examples, the beacon parser <b>510</b> may parse the beacon <b>260</b> and identify an additional IP address. For example, the HTTP/HTTPS protocol supports the use of an additional IP address in the HTTP header (sometimes referred to as an X-Forwarded-For header field). In some instances, the IP address included in the X-Forwarded-For header field may represent a relatively more accurate indication of the source location of the user device <b>115</b> that communicated the beacon <b>260</b>. In some such instances, when the beacon parses <b>510</b> identifies an IP address in the X-Forwarded-For header field of the beacon <b>260</b>, the example beacon parses <b>510</b> identifies the X-Forwarded-For IP address as the location services information <b>350</b>.
0084In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example decrypter <b>515</b> to decrypt information in the received beacon <b>260</b>. For example, information included in the beacon <b>260</b> may be encrypted. For example, the executable tag <b>255</b> may cause the user device <b>115</b> to encrypt the location services information <b>350</b> and/or the media monitoring information <b>340</b> prior to including the location services information <b>350</b> in the media monitoring information <b>340</b>. In other examples, the routers <b>305</b>, <b>405</b> of <figref idref="DRAWINGS">FIGS. 3 and 4</figref>, respectively (and/or, more generally, the example router <b>205</b> of <figref idref="DRAWINGS">FIG. 2</figref>) and/or the example logger <b>425</b> of <figref idref="DRAWINGS">FIG. 4</figref> may encrypt the location services information <b>350</b> and/or the media monitoring information <b>340</b> prior to communicating the media monitoring information <b>340</b> to the AME server <b>105</b>. In this manner, personal data such as precise location data that may identify where a user is accessing media is protected. In some such examples, the decrypter <b>515</b> may be used to decrypt the information included in the beacon <b>260</b> prior to the beacon parser <b>510</b> parsing the beacon <b>260</b>.
0085In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example tagged impression logger <b>520</b> to credit (or log) impressions to media based on the media monitoring information <b>340</b> included in the beacon <b>260</b>. For example, the tagged impression logger <b>520</b> may list the corresponding media (e.g., via one or more media identifiers) in a data structure. In some examples, the tagged impression logger <b>520</b> appends and/or prepends additional information crediting the identified media with an exposure. For example, the tagged impression logger <b>520</b> may identify a media source from which the media was received (e.g., a vendor identifier, a URL, etc.), a network address of the source and/or an identifier of the user device <b>115</b> (e.g., an international mobile equipment identity (IMEI) number, a cookie, a MAC address, etc.). In addition, the tagged impression logger <b>520</b> may append a time stamp from the example time stamper <b>560</b> indicating the date and/or time when the beacon <b>260</b> was received by the AME server <b>105</b>. This time stamp may be in addition to a time stamp applied at the user device <b>115</b> to identify the media access time (e.g., the time stamp <b>360</b> of <figref idref="DRAWINGS">FIGS. 3 and/or 4</figref>).
0086In the illustrated example, the tagged impression logger <b>520</b> stores the tagged impressions for media in the tagged impressions database <b>525</b>. An example data table <b>700</b> representing tagged impressions is shown in the illustrated example of <figref idref="DRAWINGS">FIG. 7</figref>. The example tagged impressions database <b>525</b> may be implemented by a volatile memory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatile memory (e.g., flash memory). The example tagged impressions database <b>525</b> may additionally or alternatively be implemented by one or more double data rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR), etc. The example tagged impressions database <b>525</b> may additionally or alternatively be implemented by one or more mass storage devices such as hard disk drive(s), compact disk drive(s), digital versatile disk drive(s), etc. While in the illustrated example the tagged impressions database <b>525</b> is illustrated as a single database, the tagged impressions database <b>525</b> may be implemented by any number and/or type(s) of databases.
0087In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example network classifier <b>530</b> to classify the network connection used by the user device <b>115</b> to transmit the media monitoring information <b>340</b> to the AME server <b>105</b>. For example, the network classifier <b>530</b> may classify the network as a Wi-Fi network or a cellular network. In some examples, the network classifier <b>530</b> classifies the network connection based on a flag (e.g., network identifying information <b>365</b> of <figref idref="DRAWINGS">FIGS. 3 and/or 4</figref>) included in the media monitoring information <b>340</b>. For example, when the user device <b>115</b> generates the media monitoring information <b>340</b>, the user device <b>115</b> may determine whether a cellular radio of the user device <b>115</b> is being used to transmit the media monitoring information <b>340</b> or a Wi-Fi radio of the user device <b>115</b> is being used to transmit the media monitoring information <b>340</b>. In some such examples, the user device <b>115</b> may include network identifying information <b>365</b> (e.g., a flag value set to true, cellular, etc.) indicating the network connection-type is a cellular network when the cellular radio is enabled and/or network identifying information <b>365</b> (e.g., a flag set to false, Wi-Fi, etc.) indicating the network connection-type is a Wi-Fi network when the Wi-Fi radio is enabled.
0088In some examples, the network classifier <b>530</b> classifies the network connection-type based on source identifying information. For example, the network classifier <b>530</b> may compare the source identifying information <b>330</b> including in the beacon <b>260</b> to a data structure of known network address-service provider pairings. For example, when the source identifying information (e.g., a network address) is associated with an Internet service provider, the network classifier <b>530</b> may classify the network connection used to transmit the media monitoring information <b>340</b> as a Wi-Fi network. In some examples, when the source identifying information is associated with a cellular network provider, the network classifier <b>530</b> may classify the network connection used to transmit the media monitoring information <b>340</b> as a cellular network.
0089In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example location identifier handler <b>535</b> to determine a location identifier to use to accurately determine the geographic location of the user device <b>115</b>. As described above, a location identifier corresponds to a geographic location. In the illustrated example, the AME server <b>105</b> uses the location identifier to associate user devices with respective geographic locations. In the illustrated example, the location identifier handler <b>535</b> records the selected location identifier with the corresponding tagged impression in the tagged impressions database <b>525</b>. In some examples, the location identifier handler <b>535</b> alters and/or obfuscates the location identifier prior to recording the location identifier in the tagged impressions database <b>525</b>. For example, the location identifier handler <b>535</b> may decrease the resolution of the location identifier, for example, to comply with personal identification information regulations.
0090The location identifier handler <b>535</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref> determines whether to select the source identifying information <b>330</b> of the beacon <b>260</b> or to select location services information <b>350</b> included in the media monitoring information <b>340</b> as the location identifier. In some examples, the location identifier handler <b>535</b> makes the determination based on the presence of the location services information <b>350</b>. For example, the location services information <b>350</b> may include a flag indicating that the application requesting the media (e.g., a browser) had access to the positioning system of the user device <b>115</b>. In some such examples, because the user device <b>115</b> had access to a positioning system and the location services information <b>350</b> is indicative of the geographic location of the user device <b>115</b>, the example location identifier handler <b>535</b> uses the location services information <b>350</b> as the location identifier. In other examples, for example, when the application requesting the media (e.g., a browser) did not have access to the positioning system of the user device <b>115</b>, but the beacon media monitoring information <b>340</b> includes location services information, the network classifier <b>530</b> classifies the network connection-type used by the user device <b>115</b> to transmit the media monitoring information <b>340</b> as a cellular network.
0091In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, when the location identifier handler <b>535</b> determines that the application requesting the media (e.g., a browser) did not have access to the positioning system of the user device <b>115</b>, the location identifier handler <b>535</b> determines the location identifier to select based on the network classification (e.g., a Wi-Fi network and/or a cellular network) of the network used to transmit the media monitoring information <b>340</b> to the AME server <b>105</b>, as determined by the network classifier <b>530</b>. For example, when the network classifier <b>530</b> classifies the network connection-type a fixed-location network (e.g., the example Wi-Fi network <b>310</b> of <figref idref="DRAWINGS">FIG. 3</figref>), the example location identifier handler <b>535</b> of <figref idref="DRAWINGS">FIG. 5</figref> elects to use the source identifying information <b>330</b> of the beacon <b>260</b> as the location identifier and. For example, the router used in a Wi-Fi network is typically located at a fixed address. In addition, due to the limited range of a Wi-Fi network, the user device <b>115</b> and the router <b>205</b> are typically in the same general geographic area (e.g., within a residence, within a small business, etc.). Thus, the source identifying information <b>330</b> of the router (e.g., the Wi-Fi network-network address <b>315</b> of the router <b>305</b> of <figref idref="DRAWINGS">FIG. 3</figref> and/or a proxy server) is a reliable (e.g., accurate) identifier of the geographic location of the user and/or the user device <b>115</b>. However, as described below, in instances where the Wi-Fi network is associated with a business location, the source identifying information <b>330</b> of the router is determined to not be a reliable identifier of the geographic location of the user and/or the user device <b>115</b>.
0092In some examples, when the media monitoring information <b>340</b> is transmitted by the user device <b>115</b> via a mobile network (e.g., the example cellular network <b>410</b> of <figref idref="DRAWINGS">FIG. 4</figref>), the provider of the mobile network may modify the media monitoring information <b>340</b> to include location services information <b>350</b>. For example, the example logger <b>425</b> of <figref idref="DRAWINGS">FIG. 4</figref> may insert (or embed) GPS coordinates corresponding to the antenna (e.g., the example antenna <b>430</b><i>a</i>) that the user device <b>115</b> is in connection with. In some such examples, the location identifier handler <b>535</b> selects the location services information <b>350</b> from the media monitoring information <b>340</b> as the location identifier.
0093In some examples, the provider of the mobile network may not modify the media monitoring information <b>340</b> to include location services information <b>350</b>. In some such examples, the media monitoring information <b>340</b> does not include location services information <b>350</b> (e.g., GPS coordinates). However, the example location identifier handler <b>535</b> of <figref idref="DRAWINGS">FIG. 5</figref> may determine that the network connection-type used by the user device <b>115</b> to transmit the media monitoring information <b>340</b> was not a fixed-location network (e.g., as provided by the network classifier <b>530</b>). In some such examples, the location identifier handler <b>535</b> determines that the source identifying information <b>330</b> of the beacon <b>260</b> is not a reliable (e.g., accurate) identifier of the geographic location of the user and/or the user device <b>115</b>. In some such examples, the location identifier handler <b>535</b> records the location identifier for the corresponding impression entry as unknown (e.g., not available (N/A), null, etc.).
0094In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example location retriever <b>540</b> to retrieve location services information for impression entries with unknown location identifiers. The example location retriever <b>540</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref> generates a query (or queries) to be transmitted to the provider of the mobile network used by the user device <b>115</b> to transmit the beacon <b>260</b>. In the illustrated example, the location retriever <b>540</b> reads the impression entries from the tagged impressions database <b>525</b> to identify the impression entries with unknown location identifiers and generates a query (or queries) requesting location services information (e.g., GPS coordinates) for some or all impression entries with an unknown location identifier in the tagged impressions database <b>525</b>. For example, the location retriever <b>540</b> may generate a query including user identifying information <b>345</b> and/or a time stamp of when the beacon <b>260</b> was received at the AME server <b>105</b> and/or the time stamp <b>360</b> indicating when the user device <b>115</b> transmitted the media monitoring information <b>340</b>.
0095In examples disclosed herein, the example location retriever <b>540</b> generates queries to be transmitted at periodic intervals (e.g., every 24 hours, every Monday, etc.). However, any other time period may additionally or alternatively be used for preparing queries. For example, the location retriever <b>540</b> may generate queries at aperiodic intervals (e.g., when requested) and/or as a one-time event. Additionally or alternatively, instead of generating queries as they are to be transmitted, the example location retriever <b>540</b> may generate queries ahead of time and cache the pre-generated queries.
0096The example location retriever <b>540</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref> transmits the queries to the cellular network provider <b>416</b> (e.g., to the logger <b>425</b> of <figref idref="DRAWINGS">FIG. 4</figref>). In the illustrated example, the queries are transmitted via the public network <b>215</b> as the results of those queries are needed for analysis (e.g., at the end of a time period). However, the queries and their associated results may be transmitted in any other fashion. Additionally or alternatively, the queries may be transmitted to the logger <b>425</b> ahead of time, and results (e.g., location services information corresponding to the provided user identifying information <b>345</b> and/or time stamp information) may be returned upon expiration of the time period. In response to the query, the example location retriever <b>540</b> receives information associated therewith relevant to the particular impression of interest (e.g., location services information (e.g., GPS coordinates) associated with the antenna <b>430</b> with which the user device <b>115</b> was in connection.
0097In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example location mapper <b>545</b> to map a location identifier to a corresponding geographic location. In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the location mapper <b>545</b> accesses a geographic database <b>550</b> that maps a list of location identifiers to their corresponding geographic locations. For example, the location mapper <b>545</b> may match the location identifier (e.g., source identifying information <b>330</b> such as a network address and/or location services information <b>350</b>) to a geographic location. In some examples, the geographic database <b>550</b> may include a first data structure that maps source identifying information-to-geographic locations and include a second data structure that maps location services information-to-geographic locations. The mappings may be as precise as determining a location identifier (e.g., source identifying information or location services information) to the nearest city block or to a geographic region (e.g., Cook County, Illinois). In some examples, the location mapper <b>545</b> may find the exact location identifier in the geographic database <b>550</b> or, alternatively, by matching a portion of the location identifier within the geographic database <b>550</b>. For example, the location mapper <b>545</b> may match a prefix of the network address to a prefix and/or a network address range within the geographic database <b>550</b>.
0098In the illustrated example, when the location mapper <b>545</b> matches the location identifier of the impression to a location identifier and/or portion of a location identifier in the geographic database <b>550</b>, the location mapper <b>550</b> associates the corresponding geographic location to the user identifier and/or the tagged impression entry. The associated geographic location may include a county, a state, a region, a city, a town, a zip code and/or a block. The resolution of the geographic location may depend on the specificity of geographic location information in the geographic database <b>550</b>. In some examples, the resolution of the geographic location may depend on privacy protection protocols and/or legal regulations. For example, a privacy protection protocol may define an acceptable geographic region to be at least one square mile in area. In some such examples, the associated geographic location in the geographic database <b>550</b> may include geographic locations that are at least one square mile in area, and the user of the user device <b>115</b> could be anywhere within that one square mile of area.
0099The example geographic database <b>550</b> may be implemented by a volatile memory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatile memory (e.g., flash memory). The example geographic database <b>550</b> may additionally or alternatively be implemented by one or more double data rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR), etc. The example geographic database <b>550</b> may additionally or alternatively be implemented by one or more mass storage devices such as hard disk drive(s), compact disk drive(s), digital versatile disk drive(s), etc. While in the illustrated example the geographic database <b>550</b> is illustrated as a single database, the geographic database <b>550</b> may be implemented by any number and/or type(s) of databases.
0100In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example location classifier <b>555</b> to parse the impressions in the tagged impressions database <b>525</b> and to classify the impressions that likely correspond to a business location rather than, for example, a residential location. In the illustrated example, the location classifier <b>555</b> parses the source identifying information <b>330</b> and tallies the number of impressions associated with the same source identifying information. When the number of impressions associated with the same source identifying information satisfies a business threshold, the corresponding source identifying information is likely associated with a business. For example, when the number of impressions associated with a first network address is equal to and/or greater than the business threshold (e.g., 10 impressions), then the location classifier <b>555</b> classifies the first network address as a business location.
0101In some examples, the location classifier <b>555</b> uses timestamps associated with the impressions when determining whether the source identifying information is likely associated with a business location. For example, impressions that are received during business hours may indicate that source identifying information corresponding to business-hour impressions are likely business locations. Additionally or alternatively, impressions that are received during early morning or late evening may indicate that the corresponding source identifying information is likely a residence/home location.
0102In some examples, the location classifier <b>555</b> processes the impressions associated with a fixed-location network connection to identify the source identifying information <b>330</b> likely associated with a business rather than a residence. For example, the intranet traffic of a corporate office located in Atlanta, Ga. may be routed to a router at the corporate headquarters located in New York City, N.Y. In some such examples, user devices that transmit media monitoring information <b>340</b> through the corporate intranet (e.g., a Wi-Fi network) are received at the AME server <b>105</b> from the same source address (e.g., the source identifying information associated with the router located in New York City). In the illustrated example, if the number of impressions associated with the source identifying information of the New York City router satisfies (e.g., is greater than or equal to) a business threshold, the example location classifier <b>555</b> classifies the corresponding impressions as associated with businesses. The example location classifier <b>555</b> then records that the corresponding impressions are associated with a business location in the tagged impressions database <b>525</b>.
0103In some examples, the locations classifier <b>555</b> may be pre-populated with location classifications based on known IP addresses. For example, IP addresses may be collected from panelists with known locations (e.g., at their home or at a business). In some such examples, when source identifying information corresponds to a known IP address, the corresponding location (e.g., residence or business location) can be applied to the impression.
0104Additionally or alternatively, in some examples, the locations classifier <b>555</b> may learn location classification thresholds over time. For example, in addition to source identifying information, the locations classifier <b>555</b> may also receive an indication whether the source identification information corresponds to a business location or a residential location. In some such examples, a tally for the corresponding location is recorded for corresponding source identifying information. Thus, after iterations of receiving source identifying information and location classifications, the locations classifier <b>555</b> “learns” the likelihood (or probability) that particular source identifying information (e.g., an IP address) corresponds to a business location or a residential location. However, any other technique for “teaching” the locations classifier <b>555</b> location classifications may additionally or alternatively be used.
0105In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the AME server <b>105</b> includes the example profile generator <b>130</b> to generate a profile for a user and/or user device associated with a geographic location. The example profile generator <b>130</b> of <figref idref="DRAWINGS">FIGS. 1 and/or 5</figref> parses the impressions in the tagged impressions database <b>525</b> and identifies a geographic location mostly likely a home geographic location of a user and/or a user device <b>115</b>. For example, the profile generator <b>130</b> parses the impressions in the tagged impressions database <b>525</b>, selects a user identifier, and tallies the respective number of impressions for the one or more geographic locations associated with the user identifier. When the number of impressions associated with the same user identifier and geographic location satisfies a residence threshold, the corresponding geographic location is associated with the home location of the user and/or the user device <b>115</b>. However, other techniques for identifying a home location to associate with the user and/or the user device <b>115</b> may additionally or alternatively be used. For example, certain user agents are typically associated with consumer-grade user devices (e.g., personal computers, laptops, etc.), while other user agents are typically associated with enterprise/business devices. In such instances, the profile generator <b>130</b> may tally the number of impressions for the one or more user agents associated with consumer devices. In the illustrated example of <figref idref="DRAWINGS">FIG. 5</figref>, the example profile generator <b>130</b> does not include the impressions marked as business locations, for example, by the location classifier <b>555</b>, when generating profiles.
0106In some examples, the profiles generated by the example profile generator <b>130</b> include demographic information of the user such as the age, gender, presence of children, income, ethnicity, etc. For example, the profile generator <b>130</b> may access a demographics database that includes demographic information in association with a user identifier. The example profile generator <b>130</b> may combine the demographic information retrieved from the demographics database when generating the profile.
0107In the illustrated example, the profile generator <b>130</b> stores the profiles generated for respective user identifiers in the user profiles data store <b>135</b>. An example data table <b>800</b> representing example data that may be stored in the example user profiles data store <b>135</b> is shown in the illustrated example of <figref idref="DRAWINGS">FIG. 8</figref>. The example user profiles data store <b>135</b> may be implemented by a volatile memory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), etc.) and/or a non-volatile memory (e.g., flash memory). The example user profiles data store <b>135</b> may additionally or alternatively be implemented by one or more double data rate (DDR) memories, such as DDR, DDR2, DDR3, mobile DDR (mDDR), etc. The example user profiles data store <b>135</b> may additionally or alternatively be implemented by one or more mass storage devices such as hard disk drive(s), compact disk drive(s), digital versatile disk drive(s), etc. While in the illustrated example the user profiles data store <b>135</b> is illustrated as a single database, the user profiles data store <b>135</b> may be implemented by any number and/or type(s) of databases.
0108The example time stamper <b>560</b> of <figref idref="DRAWINGS">FIG. 5</figref> includes a clock and a calendar. The example time stamper <b>560</b> associates a time period (e.g., 1:00 a.m. UTC (Coordinated Universal Time) to 1:01 a.m. (UTC)) and a date (e.g., Jan. 1, 2015) with each generated tagged impression entry from the tagged impression logger <b>520</b> by, for example, appending the period of time and the date information to an end of the data of the impression entry in the example tagged impressions database <b>525</b>. However, any other time format may additionally or alternatively be used. For example, the time stamper <b>560</b> may derive a local time (E.g., Central Standard Time (CSD)) from the UTC time stamp prior to recording the time stamp in the tagged impressions database <b>525</b>.
0109<figref idref="DRAWINGS">FIG. 6</figref> is an example applet <b>600</b> including pseudo code that may be executed to generate a beacon including media monitoring information in response to a user device accessing tagged media. For example, the applet <b>600</b> may be embedded in the media <b>250</b> of <figref idref="DRAWINGS">FIG. 2</figref>. In the illustrated example of <figref idref="DRAWINGS">FIG. 6</figref>, the applet <b>600</b> includes an example source information defining line <b>602</b>, an example media monitoring information retrieval section <b>604</b>, an example destination information defining line <b>616</b> and an example beacon transmission section <b>618</b>. The example source information defining line <b>602</b> of <figref idref="DRAWINGS">FIG. 6</figref> retrieves the network address of the user device and stores the value for the source identifying information <b>330</b>. In the illustrated example of <figref idref="DRAWINGS">FIG. 6</figref>, the media monitoring information retrieval section <b>604</b> defines the values of the media monitoring information (e.g., the user identifying information <b>345</b>, the location services information <b>350</b>, the media identifying information <b>355</b>, the time stamp <b>360</b>, and the network identifying information <b>365</b>) included in the media monitoring information <b>340</b>. For example, the media monitoring information retrieval section <b>604</b> includes an example user identifier defining line <b>606</b>, an example location services identifier defining block <b>608</b>, an example media identifier defining line <b>610</b>, an example time stamp defining line <b>612</b> and an example network identifier defining block <b>614</b>.
0110In the illustrated example, the user identifier defining line <b>606</b> retrieves user identification information (e.g., a media access control (MAC) address, an international mobile equipment identity (IMEI) number, a telephone number, etc. associated with the user device) and stores the value for the user identifying information <b>345</b>.
0111The example location services identifier defining block <b>608</b> of <figref idref="DRAWINGS">FIG. 6</figref> determines whether the user device <b>115</b> has access to a location application programming interface (API) and defines the value for the location services information <b>350</b> accordingly. For example, when the user device <b>115</b> has access to the location API, line <b>608</b><i>a </i>retrieves location services information (e.g., GPS coordinates) via the location API and stores the value for the location services information <b>350</b>. Otherwise, if the user device <b>115</b> does not have access to the location API, line <b>608</b><i>b </i>stores a value indicating that no location services information is provided (e.g., a null or empty value, “False,” “N/A,” “0,” etc.). In the illustrated example, the media identifier defining line <b>610</b> retrieves media identification information from the media <b>250</b> and stores the value for the media identifying information <b>355</b>. In the illustrated example, the time stamp defining line <b>612</b> retrieves date and time information for the media request and stores the value for the time stamp <b>360</b>.
0112The example network identifier defining block <b>614</b> of <figref idref="DRAWINGS">FIG. 6</figref> determines whether the user device <b>115</b> is connected to a cellular network (e.g., a mobile network) or a Wi-Fi network (e.g., a fixed-location network) and defines the value for network identifying information <b>365</b> accordingly. For example, when the user device <b>115</b> enables communications via a cellular radio, line <b>614</b><i>a </i>stores a value for the network identifying information <b>365</b> indicating the network connection-type is a cellular network. Otherwise, if the user device <b>115</b> does not have the cellular radio enabled to communicate (e.g., the user device <b>115</b> communicates via a Wi-Fi network connection), line <b>614</b><i>b </i>stores a value for the network identifying information <b>365</b> indicating the network connection-type is a Wi-Fi network. In some examples, the applet <b>600</b> may not include the network identifier defining block <b>614</b>.
0113In the illustrated example of <figref idref="DRAWINGS">FIG. 6</figref>, the example destination information defining line <b>616</b> retrieves the network address associated with the destination of the communication and stores the value for the destination identifying information <b>335</b>. For example, the destination information defining line <b>616</b> may retrieve the Wi-Fi network-network address <b>315</b> of <figref idref="DRAWINGS">FIG. 3</figref>, the network address associated with the first example antenna <b>430</b><i>a </i>of <figref idref="DRAWINGS">FIG. 4</figref>, etc.
0114In the illustrated example of <figref idref="DRAWINGS">FIG. 6</figref>, the example applet <b>600</b> includes the example beacon transmission section <b>618</b> to generate a beacon and to transmit the generated beacon to, for example, the AME server <b>105</b>. For example, using the source identifier <b>330</b>, the media monitoring information <b>340</b> (e.g., the user identifier <b>345</b>, the location services identifier <b>350</b>, the media identifier <b>355</b>, the time stamp <b>360</b> and the network identifier <b>365</b>) and the destination identifier <b>335</b>, example beacon generating line <b>620</b> defines an example beacon <b>622</b>. At example beacon transmitting line <b>624</b>, the applet <b>600</b> causes the user device <b>115</b> to transmit the beacon <b>622</b> to, for example, the AME server <b>105</b>. In some examples, the applet <b>600</b> logs the beacon <b>622</b> and transmits one or more beacons at a later time. For example, the applet <b>600</b> may cause the user device <b>115</b> to periodically (e.g., every 24 hours) transmit logged beacons to the AME server <b>105</b>.
0115<figref idref="DRAWINGS">FIG. 7</figref> is an example data table <b>700</b> that may be stored by the example AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> to store tagged impressions. The example data table <b>700</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 7</figref> includes an impression identifier column <b>705</b>, a source information column <b>710</b>, a user identifier column <b>715</b>, a location services identifier column <b>720</b>, a media identifier column <b>725</b>, a time stamp column <b>730</b>, a network connection-type column <b>735</b>, a location identifier column <b>740</b>, a geographic location column <b>745</b> and a business location flag <b>750</b>. The example impression identifier column <b>705</b> indicates an identifier of a tagged impression logged by the AME server <b>105</b>. In the illustrated example, the impression identifier is a unique serial identifier. However, any other approach uniquely identifying an impression may additionally or alternatively be used.
0116The example source information column <b>710</b> indicates source identifying information such as a network address identifying the source of the corresponding beacon. The example user identifier column <b>715</b> identifies user identifying information associated with a user and/or a user device that accessed the tagged media. The example location services identifier column <b>720</b> identifies location services information corresponding to where the user and/or user device accessed the tagged media. In some examples, the location services information is provided by the user device (e.g., when the application requesting media has access to a positioning system of the user device) and/or by the mobile network provider (e.g., the logger <b>425</b> of <figref idref="DRAWINGS">FIG. 4</figref>).
0117The example media identifier column <b>725</b> identifies the tagged media that was accessed by the user device <b>115</b> and caused the media monitoring information to be communicated to the AME server <b>105</b>. The example time stamp column <b>730</b> indicates a date and/or time at which the media was accessed at the user device <b>115</b>. The example network connection-type column <b>735</b> indicates the type of network connection used to transmit the media monitoring information <b>340</b>. The example location identifier column <b>740</b> identifies the reliable location identifier determined for the impression. The example geographic location column <b>745</b> identifies the geographic location corresponding to the location identifier. The example business location flag <b>750</b> indicates whether the geographic location associated with the impression is likely a business location.
0118The example data table <b>700</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 7</figref> includes three example rows <b>760</b>, <b>770</b>, <b>780</b> corresponding to three example tagged impression entries. The first example row <b>760</b> indicates that an impression having an identifier of “0001” was received from a router having a network address of “IPAddr <b>01</b>,” a user identifier of “User <b>01</b>,” did not include location services information and the media monitoring information corresponding to the impression was transmitted via a “Wi-Fi” network. The impression entry “0001” was logged at the AME server <b>105</b> in response to a user device accessing a “Host1.com” at 8:00 AM on Jan. 1, 2015. In addition, the location identifier “IPAddr <b>01</b>” was determined to be a reliable location identifier and used to determine that the user and/or the user device was located in “Chicago, Ill.” when accessing the media “Host1.com.” Furthermore, the user and/or user device was likely not accessing the media “Host1.com” at a business location.
0119The second example row <b>770</b> indicates that an impression having an identifier of “0002” was received from a router having a network address of “IPAddr <b>02</b>,” a user identifier of “User <b>02</b>,” included location services information “Lat <b>2</b>, Long <b>2</b>” and the media monitoring information corresponding to the impression was transmitted via a “Cellular” network. The impression entry “0002” was logged at the AME server <b>105</b> in response to a user device accessing “Host2.com” at 9:15 AM on Jan. 2, 2015. In addition, the location identifier “Lat <b>2</b>, Long <b>2</b>” was determined to be a reliable location identifier and used to determine that the user and/or the user device was located in “Austin, Tex.” when accessing the media “Host2.com.” Furthermore, the user and/or user device was likely not accessing the media “Host2.com” at a business location.
0120The third example row <b>780</b> indicates that an impression having an identifier of “0043” was received from a router having a network address of “IPAddr <b>03</b>,” a user identifier of “User <b>03</b>,” did not include location services information and the media monitoring information corresponding to the impression was transmitted via a “Cellular” network. The impression entry “0043” was logged at the AME server <b>105</b> in response to a user device accessing “Host3.com” at 9:45 AM on Jan. 2, 2015. In addition, the location identifier “Lat <b>3</b>, Long <b>3</b>” was determined to be a reliable location identifier and used to determine that the user and/or the user device was located in “Dallas, Tex.” when accessing the media “Host3.com.” Furthermore, the user and/or user device was likely accessing the media “Host3.com” at a business location.
0121While three example tagged impression entries are represented in the example data table <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref>, more or fewer tagged impression entries may be represented in the example data table <b>700</b> corresponding to the many beacons received by the AME server <b>105</b>.
0122<figref idref="DRAWINGS">FIG. 8</figref> represents an example data table <b>800</b> that may be stored by the AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> representing profiles generated for users associated with tagged impressions. The example data table <b>800</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 8</figref> is stored in the example user profiles data store <b>135</b> of <figref idref="DRAWINGS">FIGS. 1 and/or 5</figref>. The example data table <b>800</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 8</figref> includes a user identifier column <b>805</b>, a user home location column <b>810</b>, a gender identifier column <b>815</b>, an age identifier column <b>820</b>, a presence of children identifier column <b>825</b> and a user interests identifier column <b>830</b>. However, any other columns representing any other demographic information such as race, ethnicity, income, etc. may additionally or alternatively be used. Moreover, the example column(s) may be implemented in any other fashion. For example, the example age identifier column <b>820</b> of the illustrated example identifies an age range of the user. In some examples, the age identifier column <b>820</b> may store a birthdate of the user, such that an age of the user may be later calculated. The example user identifier column <b>805</b> of the illustrated example of <figref idref="DRAWINGS">FIG. 8</figref> stores a user identifier associated with a user. However, in some examples, the example user identifier column <b>805</b> may store an altered and/or obfuscated version of the user identifier (e.g., a hashed version of the user identification information), an identifier of the user device (e.g., a MAC address) that transmitted the media monitoring information <b>340</b> received at the AME server <b>105</b>, etc.
0123The example data table <b>800</b> of the illustrated example includes three example rows <b>850</b>, <b>860</b>, <b>870</b>. The first example row <b>850</b> indicates that the user associated with the “User <b>01</b>” identifier is male age 30-34, has no children, has a home location of Chicago, Ill., and is interested in cars and grilling. The second example second row <b>860</b> indicates that the user associated with the “User<b>02</b>” identifier has a home location of Austin, Tex., but additional demographic information (e.g., gender, age, presence of children, interests) for the user is not known. The third example row <b>870</b> indicates that the user associated with the “User <b>03</b>” identifier is a female age 35-39, has children, has an unknown home location, and is a sports fan. While three example rows <b>850</b>, <b>860</b>, <b>870</b> are shown corresponding to three example user devices in the illustrated example of <figref idref="DRAWINGS">FIG. 8</figref>, more or fewer user devices may be represented in the example data table <b>800</b> corresponding to the many users who access tagged media provided by the media provider and/or AME.
0124While an example manner of implementing the AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-3 and/or 4</figref> is illustrated in <figref idref="DRAWINGS">FIG. 5</figref>, one or more of the elements, processes and/or devices illustrated in <figref idref="DRAWINGS">FIG. 5</figref> may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example tag handler <b>125</b>, the example profile generator <b>130</b>, the example user profiles data store <b>135</b>, the example beacon handler <b>505</b>, the example beacon parser <b>510</b>, the example decrypter <b>515</b>, the example tagged impression logger <b>520</b>, the example tagged impressions database <b>525</b>, the example network classifier <b>530</b>, the example location identifier handler <b>535</b>, the example location retriever <b>540</b>, the example location mapper <b>545</b>, the example geographic database <b>550</b>, the example location classifier <b>555</b>, the example time stamper <b>560</b> and/or, more generally, the example AME server <b>105</b> of <figref idref="DRAWINGS">FIG. 5</figref> may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example tag handler <b>125</b>, the example profile generator <b>130</b>, the example user profiles data store <b>135</b>, the example beacon handler <b>505</b>, the example beacon parser <b>510</b>, the example decrypter <b>515</b>, the example tagged impression logger <b>520</b>, the example tagged impressions database <b>525</b>, the example network classifier <b>530</b>, the example location identifier handler <b>535</b>, the example location retriever <b>540</b>, the example location mapper <b>545</b>, the example geographic database <b>550</b>, the example location classifier <b>555</b>, the example time stamper <b>560</b> and/or, more generally, the example AME server <b>105</b> of <figref idref="DRAWINGS">FIG. 5</figref> could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example tag handler <b>125</b>, the example profile generator <b>130</b>, the example user profiles data store <b>135</b>, the example beacon handler <b>505</b>, the example beacon parser <b>510</b>, the example decrypter <b>515</b>, the example tagged impression logger <b>520</b>, the example tagged impressions database <b>525</b>, the example network classifier <b>530</b>, the example location identifier handler <b>535</b>, the example location retriever <b>540</b>, the example location mapper <b>545</b>, the example geographic database <b>550</b>, the example location classifier <b>555</b>, the example time stamper <b>560</b> and/or, more generally, the example AME server <b>105</b> of <figref idref="DRAWINGS">FIG. 5</figref> is/are hereby expressly defined to include a tangible computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing the software and/or firmware. Further still, the example AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-3 and/or 4</figref> may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in <figref idref="DRAWINGS">FIG. 5</figref>, and/or may include more than one of any or all of the illustrated elements, processes and devices.
0125Flowcharts representative of example machine readable instructions for implementing the example AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> are shown in <figref idref="DRAWINGS">FIGS. 9-11 and/or 12</figref>. In these examples, the machine readable instructions comprise a program(s) for execution by a processor such as the processor <b>1312</b> shown in the example processor platform <b>1300</b> discussed below in connection with <figref idref="DRAWINGS">FIG. 13</figref>. The program(s) may be embodied in software stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor <b>1312</b>, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor <b>1312</b> and/or embodied in firmware or dedicated hardware. Further, although the example program(s) is/are described with reference to the flowcharts illustrated in <figref idref="DRAWINGS">FIGS. 9-12</figref>, many other methods of implementing the example AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref> may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.
0126As mentioned above, the example processes of <figref idref="DRAWINGS">FIGS. 9-12</figref> may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. As used herein, “tangible computer readable storage medium” and “tangible machine readable storage medium” are used interchangeably. Additionally or alternatively, the example processes of <figref idref="DRAWINGS">FIGS. 9-12</figref> may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. As used herein, when the phrase “at least” is used as the transition term in a preamble of a claim, it is open-ended in the same manner as the term “comprising” is open ended. “Comprising” and all other variants of “comprise” are expressly defined to be open-ended terms. “Including” and all other variants of “include” are also defined to be open-ended terms. In contrast, the term “consisting” and/or other forms of “consist” are defined to be close-ended terms.
0127The example program <b>900</b> of <figref idref="DRAWINGS">FIG. 9</figref> initiates logging tagged impressions at the example AME server <b>105</b> (<figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>). The example program <b>900</b> of <figref idref="DRAWINGS">FIG. 9</figref> begins at block <b>902</b> when the beacon handler <b>505</b> (<figref idref="DRAWINGS">FIG. 5</figref>) receives the beacon <b>260</b> including media monitoring information <b>340</b> from the user device <b>115</b>. For example, the user device <b>115</b> may communicate the media monitoring information <b>340</b> in response to executing the tag <b>250</b> (e.g., executable instructions) included in the media <b>250</b> being accessed by the user device <b>115</b>. In some examples, the beacon handler <b>505</b> transmits an acknowledgement message to the user device <b>115</b> in response to receiving the beacon <b>260</b>. In other examples, the beacon handler <b>505</b> provides no response, but the data contained in the beacon <b>260</b> (e.g., the source identifying information <b>330</b>, the media monitoring information <b>340</b>, a cookie, etc.) is logged.
0128At block <b>904</b>, the example beacon parser <b>510</b> (<figref idref="DRAWINGS">FIG. 5</figref>) determines whether the media monitoring information <b>340</b> included in the beacon <b>260</b> is encrypted. For example, location services information <b>350</b> included in the beacon <b>260</b> may be encrypted using advanced encryption standard (AES) algorithms to protect the privacy of the user. If, at block <b>904</b>, the beacon parser <b>910</b> determines that media monitoring information <b>340</b> is encrypted, then, at block <b>906</b>, the example decrypter <b>515</b> (<figref idref="DRAWINGS">FIG. 5</figref>) decrypts the media monitoring information <b>340</b>. For example, the decrypter <b>515</b> may use AES algorithms to decrypt the media monitoring information <b>340</b>.
0129If, at block <b>904</b>, the beacon parser <b>510</b> determined that the media monitoring information <b>340</b> was not encrypted or after the decrypter <b>515</b> decrypted the media monitoring information <b>340</b> at block <b>906</b>, control proceeds to block <b>908</b> at which the beacon parser <b>510</b> parses the media monitoring information <b>340</b> for location services information <b>350</b>. If, at block <b>910</b>, the beacon parser <b>510</b> finds location services information <b>350</b> (e.g., the user device <b>115</b> and/or the example logger <b>425</b> (<figref idref="DRAWINGS">FIG. 4</figref>) inserted GPS coordinates in the media monitoring information <b>340</b>), then, at block <b>912</b>, the beacon parser <b>510</b> extracts the location services information <b>350</b> and the example location identifier handler <b>535</b> (<figref idref="DRAWINGS">FIG. 5</figref>) sets the location identifier using the locations services information. The location identifier may be used by the AME server <b>105</b> to reliably associate the user and/or the user device to a geographic location. Control then proceeds to block <b>920</b> to record a tagged impression entry.
0130If, at block <b>910</b>, the beacon parser <b>510</b> did not find location services information <b>350</b>, then, at block <b>914</b>, the AME server <b>105</b> determines whether the media monitoring information <b>350</b> received at the AME server <b>105</b> was transmitted via a fixed-location network (e.g., a Wi-Fi network) or a mobile network (e.g., a cellular network). For example, the example network classifier <b>530</b> (<figref idref="DRAWINGS">FIG. 5</figref>) may identify network identifying information <b>365</b> indicating whether a Wi-Fi network or a cellular network was used by the user device <b>115</b> to transmit the media monitoring information <b>340</b>. In some examples, the network classifier <b>530</b> determines the network connection-type based on whether the media monitoring information <b>340</b> includes location services information.
0131If, at block <b>914</b>, the network classifier <b>530</b> determined that the media monitoring information <b>340</b> was not transmitted by the user device <b>115</b> via a mobile network (e.g., the user device <b>115</b> transmitted the media monitoring information <b>340</b> via a fixed-location network), then, at block <b>916</b>, the beacon parser <b>510</b> extracts the source identifying information <b>330</b> (e.g., a network address) associated with the beacon <b>260</b> and the location identifier handler <b>535</b> sets the location identifier using the source identifying information <b>330</b>. Control then proceeds to block <b>920</b> to record a tagged impression entry.
0132If, at block <b>914</b>, the network classifier <b>530</b> determined that the user device <b>115</b> transmitted the media monitoring information <b>340</b> via a mobile network, then, at block <b>918</b>, the location identifier handler <b>353</b> sets the location identifier as unknown. At block <b>920</b>, the example tagged impression logger <b>520</b> (<figref idref="DRAWINGS">FIG. 5</figref>) stores a record of the media monitoring information <b>340</b> included in the beacon <b>260</b> in the example tagged impressions database <b>525</b> (<figref idref="DRAWINGS">FIG. 5</figref>). For example, the beacon parser <b>510</b> may extract media identifying information <b>355</b> (e.g., a URL address, a vendor identifier, etc.) that may be included in the media monitoring information <b>340</b>.
0133At block <b>922</b>, the example time stamper <b>560</b> (<figref idref="DRAWINGS">FIG. 5</figref>) associates a time period (e.g., 1:00 AM Coordinated Universal Time (UTC) to 1:01 AM UTC) and/or date (e.g., Jan. 1, 2015) with the tagged media impression. For example, the time stamper <b>560</b> may append the period of time and/or date information to an end of the impression entry in the tagged impressions database <b>525</b>.
0134At block <b>924</b>, the AME server <b>105</b> determines whether to continue processing beacons. If, at block <b>924</b>, the AME server <b>105</b> determined to continue processing beacons (e.g., the beacon handler <b>505</b> is receiving beacons), control returns to block <b>904</b> to determine whether the media monitoring information <b>340</b> included in the next beacon is encrypted. Otherwise, if, at block <b>924</b>, the AME server <b>105</b> determined to end processing beacons (e.g., due to a server shutdown event, etc.), the example process <b>900</b> of <figref idref="DRAWINGS">FIG. 9</figref> ends.
0135The example program <b>1000</b> of <figref idref="DRAWINGS">FIG. 10</figref> maps the tagged impression entries to geographic locations based on reliable location identifiers determined by the example AME server <b>105</b> (<figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>). The example program <b>1000</b> of <figref idref="DRAWINGS">FIG. 10</figref> begins at block <b>1002</b> when the example location mapper <b>545</b> (<figref idref="DRAWINGS">FIG. 5</figref>) identifies a tagged impression to be processed. For example, the location mapper <b>545</b> may periodically, aperiodically and/or as a one-time event, parse the tagged impressions in the example tagged impressions database <b>525</b> (<figref idref="DRAWINGS">FIG. 5</figref>) and select an impression entry to process. At block <b>1004</b>, the location mapper <b>545</b> determines whether the location identifier stored for the impression is source identifying information or location services information. If, at block <b>1004</b>, the location mapper <b>545</b> determined that the location identifier is source identifying information (e.g., a network address), then, at block <b>1006</b>, the location mapper <b>545</b> access the example geographic database <b>550</b> (<figref idref="DRAWINGS">FIG. 5</figref>) to convert the source identifying information to a geographic location. In some examples, the location mapper <b>545</b> may access a source identifying information-to-geographic locations data structure to convert the source identifying information to a geographic location.
0136If, at block <b>1004</b>, the location mapper <b>545</b> determined that that the location identifier for the selected impression entry is not source identifying information, then, at block <b>1008</b>, the location mapper <b>545</b> determines whether the location identifier is known. For example, the user device <b>115</b> may not have access to a location API when generating the media monitoring information <b>340</b>. If, at block <b>1008</b>, the location mapper <b>545</b> determined that the location identifier for the selected impression entry is not known (e.g., the value is unknown), then, at block <b>1010</b>, the AME server <b>105</b> retrieves location services information from the example cellular network provider <b>416</b> (<figref idref="DRAWINGS">FIG. 4</figref>). For example, the example location retriever <b>540</b> (<figref idref="DRAWINGS">FIG. 5</figref>) may generate the example query <b>440</b> requesting location services information (e.g., GPS coordinates) from the cellular network provider <b>416</b> (e.g., via the example logger <b>425</b> of <figref idref="DRAWINGS">FIG. 4</figref>) using the user identifying information <b>345</b> and/or the time stamp <b>360</b> associated with the selected impression entry.
0137At block <b>1012</b>, the location retriever <b>540</b> sets the location identifier for the selected tagged impression entry using the locations services information returned by the cellular network provider <b>416</b>. After the location retriever <b>540</b> sets the location identifier for the selected impression entry at block <b>1012</b> or, if the location mapper <b>545</b> determined that the location identifier for the selected impression was known at block <b>1008</b>, then, at block <b>1014</b>, the location mapper <b>545</b> accesses the example geographic database <b>550</b> to convert the location services information to a geographic location. In some examples, the location mapper <b>545</b> may access a location services information-to-geographic locations data structure to convert the location services information to a geographic location.
0138At block <b>1016</b>, the location mapper <b>545</b> records the geographic location for the selected impression. At block <b>1018</b>, the AME server <b>105</b> determines whether to continue processing impressions. If, at block <b>1018</b>, the AME server <b>105</b> determined to continue processing impressions (e.g., the tagged impressions database <b>525</b> includes one or more impressions that are not associated with a geographic location), control returns to block <b>1002</b> to select another tagged impression to process. Otherwise, if, at block <b>1018</b>, the AME server <b>105</b> determined to end processing impression (e.g., due to a server shutdown event, etc.), the example process <b>1000</b> of <figref idref="DRAWINGS">FIG. 10</figref> ends.
0139The example program <b>1100</b> of <figref idref="DRAWINGS">FIG. 11</figref> flags impressions in the example tagged impressions database <b>525</b> (<figref idref="DRAWINGS">FIG. 5</figref>) at the example AME server <b>105</b> (<figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>) that are associated with business locations based on source identifying information (e.g., network addresses). The example program <b>1100</b> of <figref idref="DRAWINGS">FIG. 11</figref> begins at block <b>1102</b> when the example location classifier <b>555</b> (<figref idref="DRAWINGS">FIG. 5</figref>) selects a source identifier (e.g., a network address) from the tagged impressions database <b>525</b> to process. At block <b>1104</b>, the location classifier <b>555</b> determines a count for the number of impressions in the tagged impressions database <b>525</b> with the selected source identifier. For example, the location classifier <b>555</b> may count the number of impression entries associated with the selected source identifier. Additionally or alternatively, the location classifier <b>555</b> may count the number of impression entries associated with user devices typically associated with enterprise/business use.
0140If, at block <b>1106</b>, the location classifier <b>555</b> determined that the count satisfies a business threshold, then, at block <b>1108</b>, the location classifier <b>555</b> flags the impressions in the logged impressions database <b>525</b> with the corresponding source identifying information as likely business locations. For example, the count may satisfy the business threshold when the number of impressions associated with the selected source identifier is greater than or equal to the business threshold.
0141If, at block <b>1106</b>, the location classifier <b>555</b> determined that the count for the number of impressions in the tagged impressions database <b>525</b> associated with the selected source identifier did not satisfy the business threshold (e.g., the number of impressions associated with the selected source identifier is less than business threshold), or, after the location classifier <b>555</b> flagged the impressions in the tagged impressions database <b>525</b> at block <b>1108</b>, then, at block <b>1110</b>, the location classifier <b>555</b> determines whether there is other source identifying information in the tagged impressions database <b>525</b> to process.
0142If, at block <b>1110</b>, the location classifier <b>555</b> determined there is other source identifying information to process, control returns to block <b>1102</b> to select another source identifier from the tagged impressions database <b>525</b> to process. Otherwise, if, at block <b>1110</b>, the location classifier <b>555</b> determined that there is no other source identifying information to process, the example process <b>1100</b> of <figref idref="DRAWINGS">FIG. 11</figref> ends.
0143The example program <b>1200</b> of <figref idref="DRAWINGS">FIG. 12</figref> generates profiles for users based on geographic location counts associated with the respective users at the example AME server <b>105</b> (<figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>). The example program <b>1200</b> of <figref idref="DRAWINGS">FIG. 12</figref> begins at block <b>1202</b> when the example profile generator <b>130</b> (<figref idref="DRAWINGS">FIGS. 1 and/or 5</figref>) selects a user for which to generate a profile. For example, the profile generator <b>130</b> may select a user in response to a request from, for example, a media provider. At block <b>1204</b>, the example profile generator <b>130</b> selects user identifying information (e.g., a user identifier) associated with the user from the example tagged impressions database <b>525</b> (<figref idref="DRAWINGS">FIG. 5</figref>). At block <b>1206</b>, the profile generator <b>130</b> selects a geographic location associated with the selected user identifier. At block <b>1208</b>, the profile generator <b>130</b> determines the number of impressions in the tagged impressions database <b>525</b> that are associated with the selected geographic location and the selected user identifier. For example, the profile generator <b>130</b> may count the number of impressions in the tagged impressions database <b>525</b> indicating that the user and/or user device associated with the user identifying information “User <b>01</b>” is in Chicago, Ill.
0144At block <b>1210</b>, the example profile generator <b>130</b> determines whether there is another geographic location associated with the user identifier. For example, a user who travels may have a user identifier that is associated with two or more geographic locations. Additionally or alternatively, depending on the granularity of the geographic locations in the example geographic location database <b>550</b> (<figref idref="DRAWINGS">FIG. 5</figref>), a user identifier may be associated with two or more geographic locations (e.g., neighborhoods) within a same general geographic area (e.g., a city). For example, a user living in Chicago may have one or more impressions associated with the “Downtown” neighborhood of the Chicago geographic location (e.g., where the user works) and one or more impressions associated with the “Logan Square” neighborhood of the Chicago geographic location (e.g., where the user lives). If, at block <b>1210</b>, the profile generator <b>130</b> determined that the user identifier is associated with another geographic location, control returns to block <b>1206</b> to select another geographic location to process.
0145If, at block <b>1210</b>, the profile generator <b>130</b> determined that the user identifier is not associated with another geographic location, then, at block <b>1212</b>, the profile generator <b>130</b> determines whether the user is associated with another user identifier. For example, a user may be associated with two or more user devices (e.g., a laptop and smartphone). In some such examples, user identifying information corresponding to the respective user devices (e.g., a laptop MAC address and a smartphone MAC address) may be associated with the same user. If, at block <b>1212</b>, the profile generator <b>130</b> determined that the user is associated with another user identifier, control returns to block <b>1204</b> to select another user identifier to process.
0146If, at block <b>1212</b>, the profile generator <b>130</b> determined that the user is not associated with another user identifier, then, at block <b>1214</b>, the profile generator <b>130</b> selects a geographic location associated with the user having the highest number of impressions. At block <b>1216</b>, the profile generator <b>130</b> determines whether the count satisfies a residence threshold. If, at block <b>1216</b>, the profile generator <b>130</b> determined that the count satisfied a residence threshold, then, at block <b>1218</b>, the profile generator <b>130</b> sets the user home location to the geographic location.
0147If, at block <b>1216</b>, the profile generator <b>130</b> determined that the count did not satisfy a residence threshold, then, at block <b>1220</b>, the profile generator <b>130</b> sets the user home location as unknown. At block <b>1222</b>, the profile generator <b>130</b> generates the profile and stores the generated profile in the example user profiles data store <b>135</b> (<figref idref="DRAWINGS">FIGS. 1 and/or 5</figref>). At block <b>1224</b>, the profile generator <b>130</b> determines whether there is another user to process (e.g., generate a profile for). If, at block <b>1224</b>, the profile generator <b>130</b> determined that there is another user to process, control returns to block <b>1202</b> to select another user for which to generate a profile. Otherwise, if, at block <b>1224</b>, the profile generator <b>130</b> determined there was not another user to process, the example process <b>1200</b> of <figref idref="DRAWINGS">FIG. 12</figref> ends.
0148<figref idref="DRAWINGS">FIG. 13</figref> is a block diagram of an example processor platform <b>1300</b> capable of executing the instructions of <figref idref="DRAWINGS">FIGS. 9-11 and/or 12</figref> to implement the AME server <b>105</b> of <figref idref="DRAWINGS">FIGS. 1-4 and/or 5</figref>. The processor platform <b>1300</b> can be, for example, a server, a personal computer, or any other type of computing device.
0149The processor platform <b>1300</b> of the illustrated example includes a processor <b>1312</b>. The processor <b>1312</b> of the illustrated example is hardware. For example, the processor <b>1312</b> can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
0150The processor <b>1312</b> of the illustrated example includes a local memory <b>1313</b> (e.g., a cache). The processor <b>1312</b> of the illustrated example executes the instructions to implement the example tag handler <b>125</b>, the example profile generator <b>130</b>, the example beacon handler <b>505</b>, the example beacon parser <b>510</b>, the example decrypter <b>515</b>, the example tagged impression logger <b>520</b>, the example network classifier <b>530</b>, the example location identifier handler <b>535</b>, the example location retriever <b>540</b>, the example location mapper <b>545</b>, the example location classifier <b>555</b> and the example time stamper <b>560</b>. The processor <b>1312</b> of the illustrated example is in communication with a main memory including a volatile memory <b>1314</b> and a non-volatile memory <b>1316</b> via a bus <b>1318</b>. The volatile memory <b>1314</b> may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory <b>1316</b> may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory <b>1314</b>, <b>1316</b> is controlled by a memory controller.
0151The processor platform <b>1300</b> of the illustrated example also includes an interface circuit <b>1320</b>. The interface circuit <b>1320</b> may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
0152In the illustrated example, one or more input devices <b>1322</b> are connected to the interface circuit <b>1320</b>. The input device(s) <b>1322</b> permit(s) a user to enter data and commands into the processor <b>1312</b>. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
0153One or more output devices <b>1324</b> are also connected to the interface circuit <b>1320</b> of the illustrated example. The output devices <b>1324</b> can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit <b>1320</b> of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor.
0154The interface circuit <b>1320</b> of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network <b>1326</b> (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
0155The processor platform <b>1300</b> of the illustrated example also includes one or more mass storage devices <b>1328</b> for storing software and/or data. Examples of such mass storage devices <b>1328</b> include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives. The example mass storage <b>1328</b> implements the example user profiles data store <b>135</b>, the example tagged impressions database <b>525</b> and the example geographic database <b>550</b>.
0156The coded instructions <b>1332</b> of <figref idref="DRAWINGS">FIGS. 9-11 and/or 12</figref> may be stored in the mass storage device <b>1328</b>, in the volatile memory <b>1314</b>, in the non-volatile memory <b>1316</b>, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
0157From the foregoing, it will be appreciated that the above disclosed methods, apparatus and articles of manufacture enable accurately associating geographic locations with user devices. Examples disclosed herein operate based on media monitoring information included in beacons received at an audience measurement entity (AME) server. Examples disclosed herein parse the media monitoring information and determine a reliable location identifier of a geographic location to associate with the corresponding user device. An example advantage of examples disclosed herein is that the reliable location identifier may be selected based on a network connection-type that was used to transmit the media monitoring information from the user device to the AME server. Thus, examples disclosed herein enable choosing a location identifier that more accurately corresponds to the geographic location of the user and/or the user device accessing tagged media.
0158It is noted that this patent claims priority from U.S. Provisional Patent Application Ser. No. 62/155,986, which was filed on May 1, 2015, entitled “Methods and Apparatus to Associate Geographic Locations with Mobile Devices,” and is hereby incorporated by reference in its entirety.
0159Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
Contents5
14 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US12069534B2 | Cited by | United States of America | Applicant |
| US10681497B2 | Cited by | United States of America | Applicant |
| US10528232B2 | Cited by | United States of America | Search report |
| US10721134B2 | Cited by | United States of America | Search report |
| US12003799B2 | Cited by | United States of America | Applicant |
| US12063402B2 | Cited by | United States of America | Applicant |
| US11792082B2 | Cited by | United States of America | Applicant |
| US11197125B2 | Cited by | United States of America | Applicant |
| US11171838B2 | Cited by | United States of America | Applicant |
| US10048910B2 | Cited by | United States of America | Search report |
| US12356040B2 | Cited by | United States of America | Search report |
| US12184917B2 | Cited by | United States of America | Applicant |
| US10972358B2 | Cited by | United States of America | Applicant |
| US10057718B2 | Cited by | United States of America | Search report |
| US10412547B2 | Cited by | United States of America | Search report |
| US2024244294A1 | Cited by | United States of America | Search report |
| US2018359605A1 | Cited by | United States of America | Search report |
| US2017300277A1 | Cited by | United States of America | Pre-grant |
| US2002038349A1 | Cites | United States of America | Applicant |
| US2002143933A1 | Cites | United States of America | Applicant |
| US2003187677A1 | Cites | United States of America | Applicant |
| US2003225858A1 | Cites | United States of America | Applicant |
| US2006212792A1 | Cites | United States of America | Applicant |
| US2006265416A1 | Cites | United States of America | Applicant |
| US2007162448A1 | Cites | United States of America | Applicant |
| US2007260589A1 | Cites | United States of America | Applicant |
| US2007271375A1 | Cites | United States of America | Applicant |
| US2008005686A1 | Cites | United States of America | Applicant |
| US2008046562A1 | Cites | United States of America | Applicant |
| US2008086559A1 | Cites | United States of America | Applicant |
| US2008243822A1 | Cites | United States of America | Applicant |
| US2008255944A1 | Cites | United States of America | Search report |
| US2009177768A1 | Cites | United States of America | Applicant |
| US2009271514A1 | Cites | United States of America | Applicant |
| US2009328063A1 | Cites | United States of America | Applicant |
| US2010077092A1 | Cites | United States of America | Applicant |
| US2010131835A1 | Cites | United States of America | Applicant |
| US2010185940A1 | Cites | United States of America | Applicant |
| US2010268540A1 | Cites | United States of America | Applicant |
| US2010268573A1 | Cites | United States of America | Applicant |
| US2010312596A1 | Cites | United States of America | Applicant |
| US2010313142A1 | Cites | United States of America | Applicant |
| US2011004682A1 | Cites | United States of America | Applicant |
| US2011041090A1 | Cites | United States of America | Applicant |
| US2011078703A1 | Cites | United States of America | Applicant |
| US2011082984A1 | Cites | United States of America | Applicant |
| US2011087780A1 | Cites | United States of America | Applicant |
| US2011202888A1 | Cites | United States of America | Applicant |
| US2011246641A1 | Cites | United States of America | Applicant |
| US2011251902A1 | Cites | United States of America | Applicant |
| US2012030338A1 | Cites | United States of America | Applicant |
| US2012047203A1 | Cites | United States of America | Applicant |
| US2012059696A1 | Cites | United States of America | Applicant |
| US2012066378A1 | Cites | United States of America | Applicant |
| US2012158954A1 | Cites | United States of America | Applicant |
| JP2012216196A | Cites | Japan | Applicant |
| US2012239407A1 | Cites | United States of America | Applicant |
| US2012324101A1 | Cites | United States of America | Applicant |
| US2013151339A1 | Cites | United States of America | Applicant |
| US2013212188A1 | Cites | United States of America | Applicant |
| US2013311478A1 | Cites | United States of America | Applicant |
| US2014019589A1 | Cites | United States of America | Applicant |
| US2014068411A1 | Cites | United States of America | Applicant |
| US2014278934A1 | Cites | United States of America | Applicant |
| US2015032905A1 | Cites | United States of America | Applicant |
| US2015098554A1 | Cites | United States of America | Applicant |
| US5796952A | Cites | United States of America | Applicant |
| US5862325A | Cites | United States of America | Applicant |
| US6108637A | Cites | United States of America | Applicant |
| US6138155A | Cites | United States of America | Applicant |
| US6286046B1 | Cites | United States of America | Applicant |
| US6418470B2 | Cites | United States of America | Applicant |
| US6529952B1 | Cites | United States of America | Applicant |
| US6611835B1 | Cites | United States of America | Applicant |
| US6708215B1 | Cites | United States of America | Applicant |
| US6763386B2 | Cites | United States of America | Applicant |
| US6931397B1 | Cites | United States of America | Applicant |
| US7200673B1 | Cites | United States of America | Applicant |
| US7216149B1 | Cites | United States of America | Applicant |
| US7299050B2 | Cites | United States of America | Applicant |
| US7451229B2 | Cites | United States of America | Applicant |
| US7475352B2 | Cites | United States of America | Applicant |
| US7523409B2 | Cites | United States of America | Applicant |
| US7600014B2 | Cites | United States of America | Applicant |
| US7917154B2 | Cites | United States of America | Applicant |
| US8020083B1 | Cites | United States of America | Applicant |
| US8078651B2 | Cites | United States of America | Applicant |
| US8078691B2 | Cites | United States of America | Applicant |
| US8181194B2 | Cites | United States of America | Applicant |
| US8191007B1 | Cites | United States of America | Applicant |
| US8238922B2 | Cites | United States of America | Applicant |
| US8370489B2 | Cites | United States of America | Applicant |
| US8401003B1 | Cites | United States of America | Applicant |
| US8478904B2 | Cites | United States of America | Applicant |
| US8499065B2 | Cites | United States of America | Applicant |
| US8560675B2 | Cites | United States of America | Applicant |
| US8577392B1 | Cites | United States of America | Applicant |
| US8607295B2 | Cites | United States of America | Applicant |
| US8631473B2 | Cites | United States of America | Applicant |
| US8635674B2 | Cites | United States of America | Applicant |
13 members in 1 office; this record represents the family
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 201562155986 | United States of America | P | |
| 201562155986 | United States of America | P | |
| 201514880381 | United States of America | A | |
| 62155986 | – | – | – |
| US201514880381 | – | – | – |
| US201562155986P | – | – | – |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| US2016323706A1 | United States of America | A1 | |
| US9826359B2This record | United States of America | B2 | |
| US2018077528A1 | United States of America | A1 | |
| US10057718B2 | United States of America | B2 | |
| US2018359605A1 | United States of America | A1 | |
| US10412547B2 | United States of America | B2 | |
| US2020008011A1 | United States of America | A1 | |
| US10681497B2 | United States of America | B2 | |
| US2020304945A1 | United States of America | A1 | |
| US11197125B2 | United States of America | B2 | |
| US2022095077A1 | United States of America | A1 | |
| US12069534B2 | United States of America | B2 | |
| US2024406676A1 | United States of America | A1 |
52 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
21 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 09826359
- Publication, DOCDB
- 9826359
- Publication, EPODOC
- US9826359
- Application
- 14880381
- Application, DOCDB
- 201514880381
- Application, EPODOC
- US201514880381
Titles
- English
- Methods and apparatus to associate geographic locations with user devices
Patent term adjustment
- A delay
- +51 daysthe office missed an examination deadline
- Net adjustment
- 51 days
Classification
- CPC, 2
- H04W4/023
- G06Q30/0242
- IPC, 3
- H04W24 00
- H04W4 02
- G06Q30 02
- USPC, 1
- 001001000