The systems and techniques described herein relate generally to methods and systems for capturing and transmitting location events data using data networks.
Internet-connectable devices are ubiquitous in today's society. This is evidenced by the widespread use of personal electronic user devices, such as smartphones. In part, this is due to advancements in mobile network infrastructure, service offerings from multiple mobile network operators that give greater value to subscribers, reduced device manufacturing costs, and the fact that today's mobile devices can serve many functions beyond voice communication. For example, certain mobile devices may function as a mobile phone, a video camera, a portable media player, a Global Positioning System (GPS) device, and/or an internet client with email and web browsing capabilities. Certain mobile devices may also provide proprietary and/or third-party software applications that offer various capabilities including, for example, games and social networking Such devices may also be used to conduct transactions such as, for example, commercial transactions. Other internet-connectable devices may provide the same or similar functions and capabilities due to similar advancements and offerings.
Advertisers have responded to the influx of powerful and intelligent Internet-connected devices by increasingly marketing products and services via mobile advertising. Mobile advertising is a rapidly growing sector providing advertisers with the opportunity to connect with potential consumers via consumers' Internet-connectable devices, rather than, or in addition to, traditional media such as radio or television. Mobile advertising includes many channels through which consumers can be reached. These channels include, but are not limited to, web-browser clients, Short Message Service (SMS), Multimedia Messaging Service (MMS), games, videos, and software applications. Each mobile advertisement can link to additional content, channels, software applications or, in some instances, complementing media.
Internet-connectable devices are ideal for targeted advertisements due to the fact that an Internet-connectable device is often associated with only one unique user. Moreover, many Internet-connectable devices give users the ability to be highly engaged with the content available thereon, including advertisements. Therefore, Internet-connectable devices can help deliver excellent advertisement campaign effectiveness and response levels compared to other media; however, to be most effective, advertisements must be relevant to the user of the Internet-connectable device. For example, people without children are unlikely to be interested in advertisements for diapers. Thus, to provide relevant advertisements, advertisers may require some information about the user to help identify unique interests and attributes of the user.
Typically, to determine a relevant advertisement for a user of an Internet-connectable device, device-specific data can be communicated from the Internet-connectable device to a publisher server in the form of, for example, metadata. This, in turn, may be passed on to an advertising server or other server for advertisement analysis and decision-making In addition to the device-specific parameters, a publisher server may store additional information useful in determining a relevant advertisement for a user including, for example, profile data, which may comprise anonymous unique user attributes such as gender, location, age, other demographic characteristics, user affinities, interests, user and/or device history and characteristics, purchase intent, etc.
Computer systems and methods for capturing and transmitting location events data using data networks are provided. In some embodiments, the computer systems and methods may comprise detecting an occurrence of a state change event of interest for an Internet-connectable device; determining optimal Internet-connectable device settings for location event captures and/or transmissions performed by the Internet-connectable device based on the detected occurrence of the state change event of interest; adjusting a configuration of the Internet-connectable device based on the determined optimal settings; and capturing and/or transmitting location events based on the adjusted configuration of the Internet-connectable device.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the systems and techniques, as described herein, and together with the description, serve to explain the principles of the systems and techniques. In the drawings:
Described herein are systems and techniques for capturing and transmitting location events data using data networks. In some embodiments of the disclosed systems and techniques, one or more device states of an Internet-connectable device may be monitored. Based on the one or more device states of the Internet-connectable device, configurations associated with the capture and/or transmission of location events data associated with the Internet-connectable device may be adjusted.
Generally, the continual and frequent capture and transmission of location events data by Internet-connectable devices may result in significant degradation of Internet-connectable device resources such as, for example, battery, central processing unit (CPU), memory, and network. In many cases, the degradation of such resources may also result in a less than desirable user experience due to, for example, the limited availability of such resources during the capture and/or transmission of location events data to other functions performed by Internet-connectable devices. In some embodiments, various states of an Internet-connectable device may be monitored by a component within the Internet-connectable device to determine and implement optimal settings for capturing and/or transmitting location events data in an efficient and resource limiting manner while ensuring that significant location events data is not missed.
Reference will now be made to accompanying figures. Occasionally, the same reference numbers may be used throughout the figures and the following description to refer to the same or similar parts. While several embodiments and features of the techniques are described herein, modifications, adaptations, and other implementations are possible, without departing from the spirit and scope of the techniques. For example, substitutions, additions, or modifications may be made to the components illustrated in the figures, and the methods described herein may be modified by substituting, reordering, or adding steps to the disclosed methods. Accordingly, the following detailed description is not intended to limit the techniques to any specific embodiments or examples.
Internet-connectable devices 108 may be, include, or be part of any entity that is capable of presenting advertisements to one or more users. In many embodiments, an Internet-connectable device may be identifiable as a device uniquely associated with a user. For example, Internet-connectable device 108-1 may be a personal computer with Internet access that is uniquely identifiable by an Internet Protocol (IP) address or by an Internet cookie stored on the personal computer. Internet-connectable device 108-2 may be a smartphone that is uniquely identifiable by, for example, an International Mobile Equipment Identity number. Other Internet-connectable devices may include, for example, television set-top boxes, tablet computers, portable media devices, appliances, websites, and gaming consoles.
Publisher web server 110 may be owned and/or operated by, for example, a publisher, or other content provider, and may be, include, or be part of a technology and service that provides webpages or other content to requesting entities such as, for example, Internet-connectable devices 108. In various embodiments, publisher web server 110 may include, for example, a general purpose computer, a server, a mainframe computer, a computer with a specific purpose of determining and delivering content to Internet-connectable devices 108, or a combination of one or more thereof. Content may be provided as HyperText Markup Language (HTML), Extensible Markup Language (XML), ADOBE FLASH, or any other type of data, or combination of data and formatting structure, that may be used to deliver content to Internet-connectable devices 108. Webpages may include images, videos, text, advertisements, or other content that is suitable for the World Wide Web and can be displayed via a web browser on Internet-connectable devices 108. Similar content may be provided by publisher web server 110 for display via one or more other means such as, for example, applications running on Internet-connectable devices 108.
Publishers may seek to generate revenue by selling advertisement space, also known as inventory, to advertisers. In some cases, publishers directly sell advertisement inventory to advertisers. In other cases, publishers indirectly sell advertisement inventory to advertisers through advertisement networks, which may include systems such as, for example, ad-serving platform 120. Generally, advertisement networks sell advertisement inventory on behalf of multiple publishers to advertisers.
Utilizing advertisement networks such as those operated by Millennial Media Corporation may ensure that a publisher's advertisement inventory is sold while also increasing the number of advertisement conversions. In some embodiments, advertisement networks may add value to a publisher's advertisement inventory by utilizing intelligence derived from data associated with Internet-connectable devices 108. For example, as described below, advertisements may be more accurately targeted to users of Internet-connectable devices 108 based on determined intelligence data associated with the Internet-connectable devices 108.
In certain embodiments, ad-serving platform 120 may be, include, or be part of a technology and/or service that provides advertisements for display on Internet-connectable devices 108. In various embodiments, ad-serving platform 120 may be, for example, a general purpose computer, a server, a mainframe computer, a computer with a specific purpose of serving advertisements, or a combination of one or more thereof. For example, ad-serving platform 120 may be a specific computer that stores and determines advertisements to be served for display on Internet-connectable devices 108. In some cases, systems such as ad-serving platform 120 may be operated by advertisement network operators such as Millennial Media Corporation of Baltimore, Md.
Ad-serving platform 120 may determine and serve ads to Internet-connectable devices 108 in response to ad requests initiated by, for example, publisher web server 110, or web browsers, software applications, software development kits utilized by publisher web server 110, or other software components executing on Internet-connectable devices 108. In many cases, such requests may be generated in response to a user action. For example, a user may go to a specific website, which may trigger an advertisement request; a user may launch an application, which may trigger an advertisement request either at launch or at some other predetermined time; or a user may perform an action within an application, which may trigger an advertisement request. In other cases, a user may not be actively engaged with an Internet-connectable device but a background service on the Internet-connectable device may automatically request an ad at a predetermined time or in response to a specific event. For example, a display apparatus on a refrigerator may request an ad without user intervention based on the expiration dates of various food items stored in the refrigerator. As another example, a background service executing on an Internet-connectable device may request an ad without user intervention when it is determined that the Internet-connectable device is within a certain distance from a particular location.
As shown in
In some embodiments, data capturing logic 236, synchronization logic 238, and device state logic 240 may differ between Internet-connectable devices 108. For example, with respect to mobile phones, data capturing logic 236, synchronization logic 238, and device state logic 240 may be unique to each mobile phone platform (e.g., IOS, ANDROID, BLACKBERRY, etc.).
Ad-serving platform 120 and publisher web server 110 may also include one or more processors, storage devices, and memory (not shown). In some embodiments, ad-serving platform 120 may include logic for serving optimal ads to Internet-connectable devices 108 in responsive to ad requests from Internet-connectable devices 108. In these embodiments, ad-serving platform 120 may determine ads based on, for example, ad campaigns, ad inventory, user data, and intelligence data derived from location events data captured by and received from Internet-connectable devices 108, among other data. In certain embodiments, publisher web server 110 may include logic for receiving and responding to, for example, HyperText Transfer Protocol (HTTP) requests and one or more server-side scripts for providing dynamic webpages. Such logic, for example, may be loaded into memory from storage and executed by a processor.
Processors as described herein, including, for example, processor 234, may be, include, or be part of one or more known processing devices such as, for example, a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other type of processing circuitry, as well as portions or combinations of such circuitry elements.
Memory components as described herein, including, for example, memory 232, which may be viewed as an example of what is more generally referred to herein as a “computer program product” having executable computer program code in accordance with discussed techniques embodied therein such as, for example, data capturing logic 236. Such memory may comprise electronic memories such as random access memory (RAM), read-only memory (ROM), or other types of memory, in any combination. One skilled in the art would be readily able to implement such computer program code given the teachings provided herein. Other examples of computer program products embodying aspects of the invention may include, for example, optical or magnetic disks, or other computer-readable media.
It should be noted that the particular examples of the hardware and software components that may be included in systems 100 and 200 are described herein in more detail, and may vary with each particular embodiment. For example, systems in accordance with the techniques such as systems 100 and 200 may comprise more than one of each of the hardware and software components specifically shown in
In some embodiments, Internet-connectable device 108-1 may capture location events data using, for example, data capturing logic 236. In certain embodiments, captured raw location events data may be data identifying, for example, the location of Internet-connectable device 108-1 at a given moment in time. In a particular embodiment, captured raw location events data may include, for example, one or more of the latitude and longitude coordinates, speed, altitude, provider information, time stamp, and/or direction or bearing of Internet-connectable devices 108 at the time of one or more location event data captures; the precision or accuracy of each location event data capture; an identification of the source provider of captured location events data; the time at which location events data is captured; status data, such as an internal indicator of the status of a transmission of location events data to ad-serving platform 120; as well as several other parameters.
In some embodiments, Internet-connectable device 108-1 may transmit captured location events data to an ad-serving platform 120 for ingestion using, for example, synchronization logic 238. In some embodiments, location events data transmission may include, for example, packaging and transporting location events data over an encrypted and authenticated transport medium. In some embodiments, transmissions may be achieved incrementally by transmitting only location events data that has not been synchronized with ad-serving platform 120 since the last successful invocation of the synchronization process.
Once location events data is captured and transmitted to ad-serving platform 120 by Internet-connectable device 108-1, ad-serving platform 120 may process the location events data to derive, for example, intelligence data, which may be used by ad-serving platform to determine optimal ads to serve to Internet-connectable device 108-1 in response to ad requests.
Generally, the continual and frequent capture and/or transmission of location events data by Internet-connectable device 108-1 may result in significant degradation of resources of Internet-connectable device 108-1 (e.g., battery, memory, etc.) and a less than desirable experience for the user of Internet-connectable device 108-1. In some embodiments of the techniques disclosed herein, device state logic 240 may determine and implement optimal settings for capturing and/or transmitting location events data in an efficient and resource limiting manner in response to a state change event that originates from and is indicated by an Internet-connectable device 108-1 source such as, for example, a hardware or software component.
In certain embodiments, state change events may be location-based and/or non-location-based. Location-based state change events may include state change events associated with any Internet-connectable device 108-1 component that can detect the location or movement of Internet-connectable device 108-1. Such location-based state change events may include, for example, use of a GPS receiver, use of a cellular network communication component to perform network triangulation with cell towers, accelerometers sensor reading, etc. Non-location-based state change events may include state change events associated with components unrelated to location or movement detection such as, for example, Bluetooth settings, battery level, power supply, network reception, network type, Wi-Fi access, data usage, bandwidth, CPU usage, etc. In certain embodiments, state change events may vary depending on the capabilities of Internet-connectable device 108-1, which may differ depending on the internal hardware and/or software components of Internet-connectable device 108-1, settings of Internet-connectable device 108-1 (e.g., user-selected preferences), etc.
Referring to
At step 320, device state logic 240 may check/wait for the occurrence of a state change event. In some embodiments, the occurrence of a state change event may be determined based on synchronous or asynchronous notifications of the occurrence of a state change event to device state logic 240. In other embodiments, an occurrence of a state change event may be determined by device state logic 240 polling sources of state change events of interest. The state change events considered in the embodiment of
At step 340, device state logic 240 may gather the current state of all sources of state change events of interest. In some embodiments, the current state of all sources of state change events of interest may be gathered by polling each source. In other embodiments, the current states may be gathered from a data repository within Internet-connectable device 108-1 (not shown). At step 350, device state logic 240 may determine optimal settings based on the state change event and the gathered states of all sources of state change events of interest. In some embodiments, when determining optimal settings, device state logic may also consider the previous state of the source of the state change event in addition to or instead of the gathered states. In these embodiments, the previous state may be retrieved from a data repository at step 340. In some embodiments, the significance of a state change event may be considered when determining optimal settings.
In some cases, device state logic 240 may determine based on the state change event and/or the gathered states that no adjustment to any setting is required, in which case the process of
The optimal settings determined at step 350 may then be used at step 360 to adjust Internet-connectable device 108-1 configurations associated with the capture and/or transmission of location events data. Such configurations may include, for example, when and how data capturing logic 236 captures location events data and synchronization logic 238 transmits location events data. For example, if the state change event indicates that Internet-connectable device 108-1 has begun moving at a high rate of speed, the determined optimal settings may result in more frequent location event captures by data capturing logic 236 and/or transmissions by synchronization logic 238. Conversely, if the state change event indicates that Internet-connectable device 108-1 has gone from a high rate of speed to being stationary, the determined optimal settings may result in less frequent location event captures and/or transmissions. Other examples of Internet-connectable device 108-1 configurations that may be adjusted include the time at which location data is captured and/or transmitted; which location detection component is used to determine the location of Internet-connectable device 108-1 (e.g., GPS or cellular); which movement detection component is used to determine movement of Internet-connectable device (e.g., GPS or cellular); which communication medium is used to transmit location events data (e.g., Wi-Fi or cellular); etc.
In some embodiments, adjusting configurations of Internet-connectable device 108-1 may be dynamic. For example, the frequency of location events data captures and/or transmissions may vary over time, or according to other factors. In this example, the frequency of location events data captures and/or transmissions may increase or decrease until, for example, a threshold frequency is reached or the occurrence of another device state change.
In some embodiments, adjustments to configurations associated with location events data captures as compared to location events data transmissions may differ due to, for example, the different needs of location events data captures and location events data transmissions. For example, location events data transmissions may rely more on the availability of communication networks and the types of communication networks available than location events data captures. If such sources are not in an optimal state, location events data may be stored temporarily before being transmitted. In some embodiments, device state logic 240 may cause synchronization logic 238 to transmit stored location events data in a single batch or multiple batches (or when conditions are optimal). Once transmission is permitted, one of multiple transfer protocols may be selected.
Once the Internet-connectable device configurations are updated, the optimal settings may be stored at 370 for use in processing future state change events. The process may then return to step 310.
In certain embodiments, parameters associated with the process steps of
What follows are examples of embodiments of the systems and techniques described herein. The below examples are intended only for the purpose of illustration and should not be viewed as limiting the scope of the systems and techniques described herein.
An Internet-connectable device may be stationary (e.g., the user of the Internet-connectable device is at home) for an extended period of time. If the Internet-connectable device begins moving, thereby triggering a state change event, it may be determined if the state change event is significant (e.g., movement may be compared to a threshold). If the state change event is significant (e.g., the Internet-connectable device is moving at a high rate of speed), the frequency of location data captures and/or transmissions may be increased. If the state change event is insignificant, the frequency of location data captures may remain the same or be decreased. Other states of sources of state change events of interest may affect the outcome of the above scenarios. For example, a state change event indicating that the device is connected to a power source or that the device has been moved suddenly as indicated by an accelerometer reading may influence if and how much the frequency of location data captures is changed.
A user of an Internet-connectable device begins using its GPS receiver for guided navigation, thereby triggering a state change event. Based on the state change event, location events may be captured and/or transmitted more frequently since the GPS receiver of the Internet-connectable device is already being used for a different process.
The foregoing description of the systems and techniques, along with associated embodiments, has been presented for purposes of illustration only. It is not exhaustive and does not limit the techniques to the precise form disclosed. Those skilled in the art will appreciate from the foregoing description that modifications and variations are possible in light of the above teachings or may be acquired from practicing the techniques. For example, the steps described need not be performed in the same sequence discussed or with the same degree of separation. Likewise, various steps may be omitted, repeated, or combined, as necessary, to achieve the same or similar objectives. Accordingly, the spirit and scope of the systems and techniques described herein should be limited only by the following claims.
This application claims the benefit of U.S. Provisional Application No. 61/531,890 (Attorney Docket No. 11747.6001), filed Sep. 7, 2011, and U.S. Provisional Application No. 61/570,385 (Attorney Docket No. 11747.6002), filed Dec. 14, 2011, both of which are hereby incorporated by reference herein. This application also hereby incorporates by reference herein U.S. Non-Provisional patent application Ser. No. ______ (Attorney Docket No. 11747.0005), entitled METHODS AND SYSTEMS FOR PROVIDING MOBILE ADVERTISING USING DATA NETWORKS BASED ON INTELLIGENCE DATA ASSOCIATED WITH INTERNET-CONNECTABLE DEVICES, U.S. Non-Provisional patent application Ser. No. ______ (Attorney Docket No. 11747.0006), entitled METHODS AND SYSTEMS FOR PROVIDING MOBILE ADVERTISING USING DATA NETWORKS BASED ON INTELLIGENCE DATA ASSOCIATED WITH INTERNET-CONNECTABLE DEVICES DERIVED USING GRAPH DATA MODELS, U.S. Non-Provisional patent application Ser. No. ______ (Attorney Docket No. 11747.0008), entitled METHODS AND SYSTEMS FOR PROVIDING MOBILE ADVERTISING USING DATA NETWORKS BASED ON GROUPINGS ASSOCIATED WITH INTERNET-CONNECTABLE DEVICES, U.S. Non-Provisional patent application Ser. No. ______ (Attorney Docket No. 11747.0009), entitled METHODS AND SYSTEMS FOR PERFORMING PROXIMITY-BASED TARGETING OF ADVERTISEMENTS TO INTERNET-CONNECTABLE DEVICES AND UTILIZING PREDICTED LOCATIONS OF INTERNET-CONNECTABLE DEVICES USING DATA NETWORKS, all filed concurrently herewith.
Number | Date | Country | |
---|---|---|---|
61531890 | Sep 2011 | US | |
61570385 | Dec 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13605559 | Sep 2012 | US |
Child | 14015004 | US |