US20140129293A1 - Method and Apparatus for Dynamic Fencing - Google Patents

Method and Apparatus for Dynamic Fencing Download PDF

Info

Publication number
US20140129293A1
US20140129293A1 US13/867,025 US201313867025A US2014129293A1 US 20140129293 A1 US20140129293 A1 US 20140129293A1 US 201313867025 A US201313867025 A US 201313867025A US 2014129293 A1 US2014129293 A1 US 2014129293A1
Authority
US
United States
Prior art keywords
dynamic
fence
dynamic fence
campaign information
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/867,025
Inventor
Chi-Chao Chang
Prakash Muttineni
Srihari Venkatesan
Mauricio Mediano
Dipanshu Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XAd Inc
Original Assignee
XAd Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by XAd Inc filed Critical XAd Inc
Priority to US13/867,025 priority Critical patent/US20140129293A1/en
Assigned to xAd, Inc. reassignment xAd, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANG, CHI-CHAO, MEDIANO, MAURICIO, MUTTINENI, PRAKASH, SHARMA, DIPANSHU, VENKATESAN, SRIHARI
Publication of US20140129293A1 publication Critical patent/US20140129293A1/en
Priority to US14/716,813 priority patent/US20150332325A1/en
Priority to US14/716,811 priority patent/US10939258B2/en
Priority to US14/716,816 priority patent/US9886703B2/en
Priority to US15/915,908 priority patent/US11044579B2/en
Priority to US17/349,859 priority patent/US11570583B2/en
Priority to US18/162,653 priority patent/US20230262419A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences

Definitions

  • the present disclosure is related to location-based mobile applications, and more particularly to location-based information retrieval using dynamic fencing.
  • Hyperlocal advertising is the ability to deliver precise, relevant, and timely advertising to consumers based on estimate of their location at the moment of delivery.
  • hyperlocal advertising is becoming increasingly popular among online marketers as a vehicle of choice to deliver their messages to targeted mobile audiences on mobile devices.
  • Various industry experts predict over 1.5 trillion mobile consumer page views a month, translating to hundreds of billions of ad impression opportunities a month, or billions a day.
  • Geo-Fencing or location-based targeting involves sending information or push notifications to consumers who enter virtual perimeters set around physical places.
  • Such technologies allow an advertiser to create a virtual “fence” around a point or place of interests. For example, an advertiser can pinpoint a store, and deliver a specific advertisement (“ad”) to anyone who comes within a pre-defined geographic area around that store. Ads delivered through geo-fencing typically yield higher hit rate and better return of investment for advertisers since they're more contextual.
  • Embodiments of the present disclosure provides apparatus and methods for generating dynamic fences representing geographical regions where advertisement campaigns can take place.
  • the dynamic fences can have arbitrary shapes.
  • the dynamic fences can include both convex and non-convex corners/curves.
  • the shapes and sizes of the dynamic fences can vary over time.
  • the methods according to certain embodiments include a framework and an objective function that combine data from multiple sources to shape the dynamic fences according to goals set by advertising campaigns.
  • a method for generating dynamic fences derives the shapes of the dynamic fences based on historical and predicted information such as data suggesting optimal allocation of existing inventory, predicted click-through rates and secondary action rates, as well as parameters explicitly specified by advertisement campaigns (e.g. target a specific point of interest or highway). This allows hyperlocal advertising to have the flexibility to fine tune represented areas targeted by a hyperlocal ad campaign.
  • the dynamic fences can change over time and in real-time. For examples, within a day, they can change depending on various variables such as intra-day patterns (work versus home); during a week, they can change according to intra week patterns (week day versus weekend).
  • the dynamic fences can also change based on user mobility (commuting, working or at home).
  • the dynamic fences can also change based on historical user behavior such as ad clicks, secondary actions such as secondary actions and maps/directions, as well as other feedback. The changes can be over time periods as rapid as the data flow allows.
  • UI user interface
  • API application program interface
  • advertisers are able to tune the dynamic fences based at least in part on criteria such as keywords, categories, demographic targeting, volume of impressions, clicks and secondary actions.
  • a map associated with a point-of-interest e.g. a neighborhood, a section of an interstate highway
  • FIG. 1A is a block diagram illustrating a computer system that can be used to carry out a method for dynamic fencing according to one embodiment of the present disclosure.
  • FIG. 1B is a diagram illustrating a packet-based network via which a mobile device may interact with one or more servers according to one embodiment of the present disclosure.
  • FIG. 1C is a block diagram illustrating a few software engines in the computer system of FIG. 1A according to one embodiment.
  • FIG. 1D is a flowchart illustrating a method for dynamic fencing carried out by the one or more servers in the packet-based network of FIG. 1 according to certain embodiments.
  • FIG. 1E is a flowchart illustrating a method for updating dynamic fencing information carried out by the one or more servers in the packet-based network of FIG. 1 according to certain embodiments.
  • FIG. 2A is a diagram illustrating an example of dynamic fences and control points showing overlap between dynamic fences and control points.
  • FIG. 2B is a diagram illustrating examples of certain naive solutions that use convex polygons (i) around the center of mass of control points (left) and (ii) around the business (right), respectively.
  • FIG. 3 is a diagram illustrating an example of a region with arbitrary shape composed of a few contiguous closed regions.
  • FIG. 4 is a high level logical view illustrating a process for generating dynamic fences according to certain embodiments.
  • FIG. 5A-5E are diagrams illustrating an example of a dynamic fence being shaped by an objective function according to embodiments.
  • FIG. 6 is a two-dimensional view of an example of a topological data structure generated using control points, and fences generated via the combination of multiple adjacent faces according to embodiments.
  • FIG. 7 is a screen capture of an example of a user interface (UI) or application program interface (API) that visualizes dynamic fences according to certain embodiments.
  • UI user interface
  • API application program interface
  • geographical representation of objects and/or virtual regions or fences around the objects is generated based on signals from historical events associated with these objects. These regions are generated to capture as much relevant signals as applicable and can change during the course of the day and day after day.
  • the regions so generated represent areas to be targeted in location-based applications, including, but not limited to:
  • FIG. 1A is a block diagram of an example of such a computer system 150 , which includes a processor 151 , a memory 152 , one or more data stores 153 , input/output devices 154 such as keyboard/mouse/touchscreen, one or more display devices 155 , such as a monitor, a wired and/or wireless connections 156 to a network, such as a local area network and/or a wide area network (e.g., the Internet 120 ).
  • the software programs can be stored in a computer readable medium (such as a data store 153 and or other portable computer readable medium that is not shown).
  • the software programs When loaded in the memory 152 and executed by the processor 151 , the software programs cause the processor to carry out methods for generating dynamic fences described herein.
  • location-based documents/information and historical, aggregate data collected from many requests from mobile devices are also stored in the data store 153 .
  • the one or more data stores 153 can be computer readable media local to the processor 151 and/or coupled to the processor via a local or wide-area network.
  • FIG. 1B illustrates a packet-based network 100 (referred sometimes herein as “the cloud”), which, in some embodiments, includes part or all of a cellular network 110 , the Internet 120 , and computers and servers coupled to the Internet.
  • the computers and servers can be coupled to the Internet 120 using wired Ethernet and optionally Power over Ethernet (PoE), WiFi, and/or cellular connections.
  • a mobile device 130 such as a smart phone is also coupled to the packet-based network via WiFi or cellular connections.
  • WiFi hotspot such as hotspot 104
  • the mobile device 130 may connect to the Internet via the WiFi hotspot using its built-in WiFi connection.
  • Mobile device 130 may also communicate with the cellular network using its built-in cellular connection to connect to the cellular network 110 , which is coupled to the Internet via an Internet Gateway.
  • the mobile device may interact with other computers/servers coupled to the Internet.
  • the computers/servers coupled to the Internet may include one or more computers/servers 150 that is used to execute the software programs to carry out methods for generating dynamic fences according to certain embodiments. They may also include one or more computers/servers 102 associated with a mobile publisher, one or more computers/servers 103 associated with an on-line marketer, and other computers/servers 105 .
  • the one or more servers 150 executing the software programs may provide one or more software engines or application programming interfaces (API) 160 , including, for example, an interface engine 162 and a fencing engine 166 .
  • the one or more servers 150 executing the software programs may also include a location engine 164 and/or a document retrieval engine 168 .
  • FIG. 1D is a flowchart illustrating a method carried out by the one or more servers executing the software programs according to certain embodiments.
  • the fencing engine 166 is used to carry out the methods for generating 171 dynamic areas/fences associated with an advertisement campaign based on campaign information, which can be received by the interface engine 162 .
  • the interface engine 162 is also used to receive 172 mobile user information via the connections 156 .
  • the mobile user information may include location information provided by a mobile publisher, with whom the mobile user has initiated interaction using the mobile device via one or more web services or applications provided by the mobile publisher.
  • the interface engine 162 forwards the mobile user information to the location engine 164 , which is used to generate 173 one or more probable areas where a user of a mobile device (“mobile user”).
  • the one or more probable areas can simply be an area associated with the location information.
  • the location information includes a zip code
  • the one or more probable areas can be an area associated with the zip code.
  • the location engine is used to carry out a method described in the co-pending commonly owned U.S. Patent Application entitled “Method and Apparatus for Probabilistic User Location,” filed on even date herewith, and generates the one or more probable areas with their associated weights or probabilities.
  • the document retrieval engine 168 is configured to compare the one or more probable area with the one or more fenced areas to determine 174 one or more target areas, and to retrieve 175 one or more documents (e.g., advertisement), which can be delivered 176 to the mobile user using the interface engine 162 .
  • each target area has an associated probability and the document retrieval engine chooses an advertisement associated with a target area with the highest probability.
  • the document retrieval engine performs a coin toss using the probabilities associated with the target areas as weight to choose an advertisement for delivery in response to the ad request.
  • the document retrieval engine is configured to carry out a method described in the co-pending U.S.
  • the interface engine 162 , location engine 164 , fencing engine 166 and document retrieval engine 168 can be provided by one computer/server 150 or multiple computers/servers 150 .
  • the fencing engine 166 can be run separately from the location engine 164 and/or the document retrieval engine 168 .
  • the fencing engine 166 is further configured to provide 181 a UI or API to allow a local user or a remote on-line marketer 102 to interact with the fencing engine 166 via the UI or API locally or over the Internet 120 .
  • the on-line marketer 102 or a local user can input campaign information associated with an advertisement to the fencing engine 166 , which generates 182 one or more dynamic fences or areas based on the campaign information and delivers 183 the one or more dynamic areas to the local user or on-line marketer for display on the UI or API.
  • the one or more areas or regions delivered by the fencing engine can be arbitrary (meaning that they are not attached or associated with any prescribed or pre-established boundaries, or restricted to certain shapes) and/or dynamic (meaning that they can change in shapes and sizes depending on the time of the day).
  • the local user or on-line marketer 102 can use the results from the fencing engine 166 to tune the campaign information and compare the dynamic areas generated using different campaign information so as to reach an optimized result for the advertisement campaign.
  • the fencing engine 166 is further configured to receive 184 updated campaign information via the UI or API, generate 185 one or more updated dynamic fences or areas based on the updated campaign information, and deliver 186 the one or more updated dynamic fences or areas to the local user or on-line marketer for display on the UI or API.
  • embodiments in the present disclosure provide a dynamic fencing method executed by a computer system to determine the boundaries of a geographical region of arbitrary shape, called dynamic fence, where advertisements for a certain advertisement campaign are displayed on mobile devices. Impressions for an ad campaign enabled with dynamic fencing take place when the location of a user of a mobile device 101 is inside the fence generated.
  • dynamic fencing One important characteristic of dynamic fencing is that the shapes and sizes of the fences may vary over time. Therefore, the dynamic fences are time-dependent and may change in shapes and sizes depending on the time of day, day of the week, day of the month, holidays and/or other time-dependent aspects.
  • the fence for a restaurant may cover larger areas around lunchtime and smaller areas at night. Further more, the dynamic fences may change in real-time based on continuously updated historical data as allowed by data pipelines implemented in the cloud.
  • b i, t (lat i , lon i , w i, t ) be a control point of coordinates lat i and lon i
  • w i, t is a number that represents an amount of interest that mobile users that belong to the demographics B dem and are present in the neighborhood of (lat i , lon i ) at the moment in time t have on a business of category B cat located at (B lat , B lon ).
  • effective advertising campaigns for businesses in the neighborhood of (B lat , B lon ) that belong to category B cat have a maximum effective targeting area ETA B, t , which is dependent on a few variables, e.g.,
  • a dynamic fence is generated by calculating a geographic region R B, t where advertisements from business B are displayed in mobile devices in a moment in time t, such that
  • MAX ⁇ contains(R B, t , b i, t ) w i, t .
  • the dynamic fence defines a region with arbitrary shape whose size can be limited by the ETA.
  • the ETA can be an input parameter for dynamic fencing.
  • FIG. 2A shows an example of dynamic fences 200 for a business 201 that contains several control points with high values of w i, t .
  • FIG. 2A also illustrates an example of overlap between dynamic fences 200 and control points 210 .
  • a simple way of generating dynamic fences includes generating convex polygons either around the business location or around the center of mass of the control points.
  • FIG. 2B shows examples for such naive solutions that use convex polygons 200 (i) around the center of mass of control points 210 (left) and (ii) around the business 201 (right), respectively.
  • These na ⁇ ve solutions are limited by the shape of the region generated, a single convex region in both cases. In both cases, the convex region can't extend far enough to encompass key control points because in both cases the convex polygons would have to cover empty areas that would cause the convex polygon to grow beyond the maximum area size (ETA B ).
  • Solution that are not constrained to generate convex regions can outperform such naive process due to the flexibility they provide to the objective function. Solutions that generates regions with arbitrary shapes are thus more desired. Regions with arbitrary shapes can be composed of disconnected regions and/or non-convex corners/curves and/or holes, as discussed further below.
  • the fencing engine 166 takes as input some or all of the following input parameters associated with an advertisement campaign:
  • the above data can be input via the UI or API provided by the fencing engine. Advertisers can initiate such interaction via an API call and can tune the advertising campaigns through changes to the values of the above-listed parameters through the UI or API, which can also display the dynamic fence generated, as discussed in further detail below.
  • the fencing engine 166 can generate as its output one or more regions of arbitrary shapes.
  • a point p can have two coordinates, latitude and longitude.
  • the external boundaries of two contiguous closed regions that belong to the same arbitrary region can only touch on a single point.
  • an internal boundary of a contiguous closed region can only touch another internal boundary on a single point.
  • an internal boundary of a contiguous closed region can only touch the external boundary of the region on a single point.
  • FIG. 3 shows one example of a region 300 with arbitrary shape composed of three contiguous closed regions 310 , 320 , and 330 .
  • Region 310 has one internal boundary 303 .
  • the remaining two contiguous closed regions 320 and 330 touch at a single point 325 .
  • these regions 310 , 320 and 330 have arbitrary shapes and can include both convex corners/curves 301 and non-convex corners/curves 302 , and can have holes 303 .
  • FIG. 4 is a high level logical view illustrating a process 400 for generating dynamic fences according to certain embodiments.
  • process 400 includes obtaining 410 a set of control points relevant to the dynamic fence based on input campaign information by retrieving and sampling (randomly picking some of the) points, or geographical coordinates, extracted from historical data or other sources associated with geographical locations.
  • the control points represent locations associated with ad impressions, clicks, and/or secondary actions collected from mobile devices.
  • the choice of control points represents an adaptation approach that uses knowledge about where impressions, clicks and conversions are generated in order to shape the fence.
  • the sampling strategy for control points is a function of tuning parameters provided by advertisers via the API as well as of the level of precision/resolution desired for the dynamic fence.
  • the process 400 further includes producing 430 a topological data structure (TDS) using the control points and annotations.
  • the TDS divides a region covered by control points into small regions, called faces.
  • the process 400 further includes generating 440 the dynamic fence using the TDS by combining the faces.
  • a dynamic fence can be generated by: (i) subdividing a region into faces; (ii) selecting a subset of faces; and (iii) collapsing the subset of faces to generate the dynamic fence.
  • the neighborhood of a targeted location is divided into small areas, s 1 , s 2 , . . . , s n , called faces, such that each control point p i is associated with a face s i .
  • An objective function is used to bring as many faces with high weights as possible into a final region.
  • the density of each face is computed as
  • the greedy process is not optimal due to, for example, a corner case where the following conditions happen: (i) dynamicFenceArea ⁇ ETA and (ii) There is a face s 1 not included in the dynamic fence, with lower density, greater w 1 and greater area(s 1 ) that could replace one of the faces included in the dynamic fence, increasing the result of objective function while still keeping dynamicFenceArea ⁇ ETA.
  • any process that attempt to improve the greedy process by reducing the difference (ETA ⁇ dynamicFenceArea) would produce negligible improvements. Therefore, it is unnecessary to invest in complex heuristics and expensive combinatorial process to address such corner cases.
  • FIGS. 5A-5E show an example of how the objective function shapes a dynamic fence.
  • FIG. 5A shows an example of a set of control points 510 for a location 501 targeted for an advertisement campaign.
  • FIG. 5B shows how a geographic region 520 that surrounds the control points is subdivided into eleven faces 522 .
  • FIG. 5C shows signal strength in each face.
  • FIG. 5D shows density for each face.
  • FIG. 5E shows how the objective function shapes the dynamic fence. Assuming that the ETA is thirteen square units, the objective function selects six top density faces to form the dynamic fence.
  • control points that match location, time, demographics, keywords and categories passed by the API are identified in 410 .
  • the control points can be a subset of locations from historical data 412 that are known to be associated with secondary actions, clicks and impressions.
  • Each control point may have some initial annotations, such as the following:
  • a series of annotators 422 can process the control points and annotate each point with (keywordOrCategory, signalStrength) annotations.
  • Each annotation has a signal strength in the (0 . . . 1] range.
  • the annotator's model that computes the signal strength should consider using the API input parameters as input features. For example, for categories (input parameter) where proximity is correlated with clicks and secondary actions, such as “restaurants” and “gas stations”, the signal strength should decay with the distance between the business location (input parameter) and the control point.
  • a case that requires special attention is when the advertiser targets a business or point-of-interest.
  • the signal strength should decay with the distance between the business or target location and control point.
  • Annotators 422 may use historical search, display data and demand data stored in their respective repositories 425 to generate annotations.
  • search data is used to generate annotations
  • the locations of control points can be joined with nearby historical data for search and display requests. If clicks and secondary actions were generated for a cluster of searches to “restaurants”, the annotators 422 can annotate nearby control points with the keyword “restaurants.”
  • the signal strength can be a function of the number and density of clicks and conversions for restaurants in the area.
  • the control points can also be annotated using other types of sources.
  • Nielsen PRIZM could be used as an external source annotator.
  • the Nielsen PRIZM is a set of geo-demographic segments for the United States. It assigns segments such as “Money & Brains” to geographical locations.
  • a Nielsen PRIZM annotator could annotate control points inside regions marked by Nielsen PRIZM as “Money & Brains” with keywords associated with luxury items such as “Lexus” or “Vacation in Europe.”
  • annotations are blended in 420 using a linear model.
  • a W (w a 1 , . . . , w a n ) be a vector of weights for annotators 1 . . . n. These weights can be constant per annotator and can be tuned using an offline feedback pipeline.
  • K S (k, p) (y a 1 , y a n ) be a vector of weights for a control point p and a keyword (or category) k.
  • the following formula computes the final weight W(k, p) which blends annotations for the keyword (or category) k for the control point p:
  • the vector of annotator weights A W (w a 1 , . . . , w a n ) can be tuned using a gradient descent process.
  • the gradient descent process uses an offline pipeline that aggregates data daily for the gradient descent iterations.
  • the gradient descent process uses an objective function that combines revenue, clicks and call data collected from historical data.
  • the process 400 Before generating the dynamic fence, the process 400 generates a topological data structure (TDS) in 430 to subdivide the neighborhood of the target location into a set of small regions, s 1 , s 2 , . . . , s n , i.e, the faces.
  • the build graph component also computes the final signal strength, w i , of each face.
  • Each face s i in the TDS corresponds to one control point p i .
  • Each face knows which faces are adjacent to it and also knows the sequence of coordinates that form its boundary.
  • FIG. 6 is a two-dimensional view of topological data structures and fences showing a real example of a topological data structure generated using control points, and fences generated via the combination of multiple adjacent faces.
  • the TDS and the weights associated with each face of the TDS are used to select a subset of faces to shape the dynamic fence. For example, when the greedy process adds a face to the dynamic fence, one of three scenarios may happen:
  • each hierarchy of clusters should be transformed in a single cluster.
  • a trivial linear process can be used to flatten the hierarchies of clusters.
  • Each final cluster can become a contiguous closed region.
  • the dynamic fence is represented as a collection of contiguous closed regions that form a region with arbitrary shape (see FIG. 3 ).
  • the external and internal boundaries of each contiguous closed region are generated in the following way:
  • external boundaries should be oriented clock-wise and internal boundaries should be oriented counter-clock wise.
  • the orientation may be useful to display the contiguous closed regions.
  • One possible threshold could be defined as a fraction of the result of the objective function. Contiguous closed regions whose combined sum of w i is less than the threshold are excluded from the dynamic fence. The threshold should be tuned based on a proper balance between the performance improvement and the negative impact in metrics (clicks and secondary actions).
  • the set of faces that are not assigned to any cluster includes: (i) the faces that belonged to contiguous closed regions that were just recycled and (ii) faces that were never assigned to any contiguous regions.
  • the greedy process that assigns faces to clusters is repeated with one exception, i.e., new clusters cannot be created. Faces can only be assigned to existing clusters or cause clusters to merge. This step is repeated until the maximum area size MA is reached. Note that the faces don't need to be sorted again. The order set for the first run of the greedy process is reused.
  • the process should tolerate an increase in the final size of the dynamic fence by a constant factor. Again, such threshold should be tuned based on a proper balance between the performance improvement and the negative impact in metrics (clicks and secondary actions).
  • very small contiguous regions may represent sparse historical signals (e.g. clicks and secondary actions) that may not repeat over time. Larger regions are more likely to be associated with patterns of events that repeat over time.
  • FIG. 7 illustrates an example of a user interface (UI) or application program interface (API) 700 that visualizes dynamic fences according to certain embodiments. Advertisers or campaign managers can use the UI or API 700 to tune dynamic fences.
  • the UI or API 700 includes a form 710 and a canvas 720 .
  • An advertiser can enter parameters that can impact the shape of the dynamic fence using the form 710 .
  • the canvas 720 displays one or more resulting fences 722 and/or an animation that shows how the fences 722 change over the course of the day.
  • the parameters can include:
  • the image displayed in the canvas 720 shows the state of the dynamic fence 722 at 5 PM.
  • the UI may offer a mechanism such as a slider or dial that the advertiser can use to visualize the dynamic fence at a specific time of day.
  • the UI can also use stop/play buttons to stop and continue the animation on the canvas.
  • the UI 700 in FIG. 7 can be used to implement business methods powered by dynamic fences.
  • an advertiser can use the UI 700 to target regions in a map where users are likely engaged with their competitors.
  • a Macy's department store may want to target users who are in or in the vicinity of a neighboring Bloomindale's.
  • a BMW dealership may want to target users who are in the lot of competing brands such as Mercedes, Lexus, and Audi.
  • fences can be generated around the target areas based on user input or geographic input (i.e. the boundaries of the block in which a department store is located).
  • Real-time data can adjust the fences generated based on geographic data. For example, intra-week variations such as higher traffic or movement over weekends can be captured
  • an advertiser can target a region in a map associated with a POI (e.g. a neighborhood, a section of an interstate highway) where their target users are mobile in real-time.
  • a map associated with a POI e.g. a neighborhood, a section of an interstate highway

Abstract

The present disclosure provides embodiments of an apparatus and method for generating dynamic fences representing geographical regions where advertisement campaigns can take place. The dynamic fences can have arbitrary shapes and can change over time and in real-time. The method comprises receiving campaign information via connections to a packet-based network; generating at least one dynamic fence of arbitrary shape based on the campaign information; and updating the at least one dynamic fence in response to data received from the packet-based network.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • The present application claims the benefit of priority from U.S. Provisional Application No. 61/724,295 entitled “Method and Apparatus for Probabilistic User Location,” filed on Nov. 8, 2012, U.S. Provisional Application No. 61/724,298 entitled “Method and Apparatus for Dynamic Fencing,” filed on Nov. 8, 2012, and U.S. Provisional Application No. 61/724,299 entitled “Method and Apparatus for Geographic Document Retrieval,” filed on Nov. 8, 2012, each of which is incorporated herein by reference in its entirety. The present application is related to commonly assigned U.S. Patent Application entitled “Method and Apparatus for Probabilistic User Location,” filed on even date herewith, and to U.S. Patent Application entitled “Method and Apparatus for Geographic Document Retrieval,” filed on even date herewith, each of which is incorporated herein by reference in its entirety.
  • FIELD
  • The present disclosure is related to location-based mobile applications, and more particularly to location-based information retrieval using dynamic fencing.
  • DESCRIPTION OF THE RELATED ART
  • Hyperlocal advertising is the ability to deliver precise, relevant, and timely advertising to consumers based on estimate of their location at the moment of delivery. Nowadays, with the advent of smartphones and tablets, hyperlocal advertising is becoming increasingly popular among online marketers as a vehicle of choice to deliver their messages to targeted mobile audiences on mobile devices. Various industry experts predict over 1.5 trillion mobile consumer page views a month, translating to hundreds of billions of ad impression opportunities a month, or billions a day. There are currently an estimated 20 million stores and small businesses located in the US alone.
  • Geo-Fencing or location-based targeting involves sending information or push notifications to consumers who enter virtual perimeters set around physical places. Such technologies allow an advertiser to create a virtual “fence” around a point or place of interests. For example, an advertiser can pinpoint a store, and deliver a specific advertisement (“ad”) to anyone who comes within a pre-defined geographic area around that store. Ads delivered through geo-fencing typically yield higher hit rate and better return of investment for advertisers since they're more contextual.
  • SUMMARY
  • Embodiments of the present disclosure provides apparatus and methods for generating dynamic fences representing geographical regions where advertisement campaigns can take place. The dynamic fences can have arbitrary shapes. In one embodiment, the dynamic fences can include both convex and non-convex corners/curves. In a further embodiment, the shapes and sizes of the dynamic fences can vary over time. The methods according to certain embodiments include a framework and an objective function that combine data from multiple sources to shape the dynamic fences according to goals set by advertising campaigns.
  • In one embodiment, a method for generating dynamic fences derives the shapes of the dynamic fences based on historical and predicted information such as data suggesting optimal allocation of existing inventory, predicted click-through rates and secondary action rates, as well as parameters explicitly specified by advertisement campaigns (e.g. target a specific point of interest or highway). This allows hyperlocal advertising to have the flexibility to fine tune represented areas targeted by a hyperlocal ad campaign.
  • In certain embodiment, the dynamic fences can change over time and in real-time. For examples, within a day, they can change depending on various variables such as intra-day patterns (work versus home); during a week, they can change according to intra week patterns (week day versus weekend). The dynamic fences can also change based on user mobility (commuting, working or at home). The dynamic fences can also change based on historical user behavior such as ad clicks, secondary actions such as secondary actions and maps/directions, as well as other feedback. The changes can be over time periods as rapid as the data flow allows. These aspects of the embodiments help to reduce wasted ad impressions, improving click through rates and secondary action rates.
  • Further embodiments of the present disclosure provide means for an advertiser to interact with a user interface (UI) or application program interface (API) to define and visualize the dynamic fence, to see how it changes during the course of the day, and to make adjustments using the parameters provided through the UI or API. Thus, advertisers are able to tune the dynamic fences based at least in part on criteria such as keywords, categories, demographic targeting, volume of impressions, clicks and secondary actions.
  • Further embodiments of the present disclosure provide business methods that enable advertisers to carry out real-time competitive conquest by targeting regions in a map where users are likely engaged with their competitors in real-time.
  • Further embodiments of the present disclosure provide business methods that enable advertisers to perform real-time point-of-interest targeting by targeting a region in a map associated with a point-of-interest (e.g. a neighborhood, a section of an interstate highway) where their target users are mobile in real-time.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1A is a block diagram illustrating a computer system that can be used to carry out a method for dynamic fencing according to one embodiment of the present disclosure.
  • FIG. 1B is a diagram illustrating a packet-based network via which a mobile device may interact with one or more servers according to one embodiment of the present disclosure.
  • FIG. 1C is a block diagram illustrating a few software engines in the computer system of FIG. 1A according to one embodiment.
  • FIG. 1D is a flowchart illustrating a method for dynamic fencing carried out by the one or more servers in the packet-based network of FIG. 1 according to certain embodiments.
  • FIG. 1E is a flowchart illustrating a method for updating dynamic fencing information carried out by the one or more servers in the packet-based network of FIG. 1 according to certain embodiments.
  • FIG. 2A is a diagram illustrating an example of dynamic fences and control points showing overlap between dynamic fences and control points.
  • FIG. 2B is a diagram illustrating examples of certain naive solutions that use convex polygons (i) around the center of mass of control points (left) and (ii) around the business (right), respectively.
  • FIG. 3 is a diagram illustrating an example of a region with arbitrary shape composed of a few contiguous closed regions.
  • FIG. 4 is a high level logical view illustrating a process for generating dynamic fences according to certain embodiments.
  • FIG. 5A-5E are diagrams illustrating an example of a dynamic fence being shaped by an objective function according to embodiments.
  • FIG. 6 is a two-dimensional view of an example of a topological data structure generated using control points, and fences generated via the combination of multiple adjacent faces according to embodiments.
  • FIG. 7 is a screen capture of an example of a user interface (UI) or application program interface (API) that visualizes dynamic fences according to certain embodiments.
  • DESCRIPTION OF THE EMBODIMENTS
  • According to certain embodiments, geographical representation of objects and/or virtual regions or fences around the objects is generated based on signals from historical events associated with these objects. These regions are generated to capture as much relevant signals as applicable and can change during the course of the day and day after day. The regions so generated represent areas to be targeted in location-based applications, including, but not limited to:
      • Local advertising, where advertisements can be displayed for any kind of business, for both search and display advertising.
      • Local search, where fences that define area of relevance for any type of business can be computed.
      • Social, where a fence defining an area in which social connections for a specific individual is more likely to be effective, e.g. the best area to make friends etc.
  • A computer system (e.g., a server computer) executing a software program can be used to generate the virtual regions or fences. FIG. 1A is a block diagram of an example of such a computer system 150, which includes a processor 151, a memory 152, one or more data stores 153, input/output devices 154 such as keyboard/mouse/touchscreen, one or more display devices 155, such as a monitor, a wired and/or wireless connections 156 to a network, such as a local area network and/or a wide area network (e.g., the Internet 120). The software programs can be stored in a computer readable medium (such as a data store 153 and or other portable computer readable medium that is not shown). When loaded in the memory 152 and executed by the processor 151, the software programs cause the processor to carry out methods for generating dynamic fences described herein. In one embodiment, location-based documents/information and historical, aggregate data collected from many requests from mobile devices are also stored in the data store 153. The one or more data stores 153 can be computer readable media local to the processor 151 and/or coupled to the processor via a local or wide-area network.
  • FIG. 1B illustrates a packet-based network 100 (referred sometimes herein as “the cloud”), which, in some embodiments, includes part or all of a cellular network 110, the Internet 120, and computers and servers coupled to the Internet. The computers and servers can be coupled to the Internet 120 using wired Ethernet and optionally Power over Ethernet (PoE), WiFi, and/or cellular connections. As shown in FIG. 1B, a mobile device 130 such as a smart phone is also coupled to the packet-based network via WiFi or cellular connections. When a WiFi hotspot (such as hotspot 104) is available, the mobile device 130 may connect to the Internet via the WiFi hotspot using its built-in WiFi connection. Mobile device 130 may also communicate with the cellular network using its built-in cellular connection to connect to the cellular network 110, which is coupled to the Internet via an Internet Gateway. Thus, the mobile device may interact with other computers/servers coupled to the Internet.
  • As shown in FIG. 1B, the computers/servers coupled to the Internet may include one or more computers/servers 150 that is used to execute the software programs to carry out methods for generating dynamic fences according to certain embodiments. They may also include one or more computers/servers 102 associated with a mobile publisher, one or more computers/servers 103 associated with an on-line marketer, and other computers/servers 105.
  • As shown in FIG. 1C, in one embodiment, the one or more servers 150 executing the software programs may provide one or more software engines or application programming interfaces (API) 160, including, for example, an interface engine 162 and a fencing engine 166. In a further embodiment, the one or more servers 150 executing the software programs may also include a location engine 164 and/or a document retrieval engine 168.
  • FIG. 1D is a flowchart illustrating a method carried out by the one or more servers executing the software programs according to certain embodiments. As shown in FIGS. 1C and 1D, according to one embodiment, in the context of on-line advertisements, the fencing engine 166 is used to carry out the methods for generating 171 dynamic areas/fences associated with an advertisement campaign based on campaign information, which can be received by the interface engine 162. The interface engine 162 is also used to receive 172 mobile user information via the connections 156. The mobile user information may include location information provided by a mobile publisher, with whom the mobile user has initiated interaction using the mobile device via one or more web services or applications provided by the mobile publisher. The interface engine 162 forwards the mobile user information to the location engine 164, which is used to generate 173 one or more probable areas where a user of a mobile device (“mobile user”).
  • In one embodiment the one or more probable areas can simply be an area associated with the location information. For example, if the location information includes a zip code, the one or more probable areas can be an area associated with the zip code. In a further embodiment, the location engine is used to carry out a method described in the co-pending commonly owned U.S. Patent Application entitled “Method and Apparatus for Probabilistic User Location,” filed on even date herewith, and generates the one or more probable areas with their associated weights or probabilities.
  • The document retrieval engine 168 is configured to compare the one or more probable area with the one or more fenced areas to determine 174 one or more target areas, and to retrieve 175 one or more documents (e.g., advertisement), which can be delivered 176 to the mobile user using the interface engine 162. In one embodiment, each target area has an associated probability and the document retrieval engine chooses an advertisement associated with a target area with the highest probability. In another embodiment, the document retrieval engine performs a coin toss using the probabilities associated with the target areas as weight to choose an advertisement for delivery in response to the ad request. In a further embodiment, the document retrieval engine is configured to carry out a method described in the co-pending U.S. Patent Application entitled “Method and Apparatus for Geographical Document Retrieval,” filed on even date herewith, to retrieve the document. The interface engine 162, location engine 164, fencing engine 166 and document retrieval engine 168 can be provided by one computer/server 150 or multiple computers/servers 150.
  • The fencing engine 166 can be run separately from the location engine 164 and/or the document retrieval engine 168. In one embodiment, as shown in FIG. 1E, the fencing engine 166 is further configured to provide 181 a UI or API to allow a local user or a remote on-line marketer 102 to interact with the fencing engine 166 via the UI or API locally or over the Internet 120. The on-line marketer 102 or a local user can input campaign information associated with an advertisement to the fencing engine 166, which generates 182 one or more dynamic fences or areas based on the campaign information and delivers 183 the one or more dynamic areas to the local user or on-line marketer for display on the UI or API. The one or more areas or regions delivered by the fencing engine can be arbitrary (meaning that they are not attached or associated with any prescribed or pre-established boundaries, or restricted to certain shapes) and/or dynamic (meaning that they can change in shapes and sizes depending on the time of the day). Thus, the local user or on-line marketer 102 can use the results from the fencing engine 166 to tune the campaign information and compare the dynamic areas generated using different campaign information so as to reach an optimized result for the advertisement campaign.
  • In a further embodiment, as shown in FIG. 1E, the fencing engine 166 is further configured to receive 184 updated campaign information via the UI or API, generate 185 one or more updated dynamic fences or areas based on the updated campaign information, and deliver 186 the one or more updated dynamic fences or areas to the local user or on-line marketer for display on the UI or API.
  • One important characteristic of dynamic fencing is that the shape of the fence may vary depending on the time of the day.
  • Thus, embodiments in the present disclosure provide a dynamic fencing method executed by a computer system to determine the boundaries of a geographical region of arbitrary shape, called dynamic fence, where advertisements for a certain advertisement campaign are displayed on mobile devices. Impressions for an ad campaign enabled with dynamic fencing take place when the location of a user of a mobile device 101 is inside the fence generated. One important characteristic of dynamic fencing is that the shapes and sizes of the fences may vary over time. Therefore, the dynamic fences are time-dependent and may change in shapes and sizes depending on the time of day, day of the week, day of the month, holidays and/or other time-dependent aspects. One typical example is that the fence for a restaurant may cover larger areas around lunchtime and smaller areas at night. Further more, the dynamic fences may change in real-time based on continuously updated historical data as allowed by data pipelines implemented in the cloud.
  • These and other aspects of the embodiments are described in further details with respect to the following examples:
      • A retail chain uses hyper-local advertising to let consumers in the neighborhood of their physical stores know of in-store sale items hoping to attract them into the stores;
      • The owner of a fast-food franchise targets users who are commuting down an adjacent highway to promote their new hearty and healthy lunch combo;
      • A dentist who is new in town wants to acquire new customers in nearby residential areas;
      • An electronic retailer wants to advertise to customers who are near or in competing retailers in a same area (e.g., a city or shopping mall); and
      • A sports gear retailer wants to target sports fans in a stadium attending a baseball game, and later in adjacent highways as they leave the game.
  • In one embodiment, a business is represented by a data structure B=(Blat, Blon, Bcat, Bdem), wherein Blat and 13 lon represent geographical coordinates of the business' physical presence, Bcat represents a category of the business, and Bdem defines the business' demographic of target customers. Let bi, t=(lati, loni, wi, t) be a control point of coordinates lati and loni where wi, t is a number that represents an amount of interest that mobile users that belong to the demographics Bdem and are present in the neighborhood of (lati, loni) at the moment in time t have on a business of category Bcat located at (Blat, Blon). In some embodiments, effective advertising campaigns for businesses in the neighborhood of (Blat, Blon) that belong to category Bcat have a maximum effective targeting area ETAB, t, which is dependent on a few variables, e.g.,

  • ETAB, t=EffectiveArea(t, B lat , B lon , B cat),
  • and a dynamic fence is generated by calculating a geographic region RB, t where advertisements from business B are displayed in mobile devices in a moment in time t, such that

  • Area(R B, t)≦ETAB, t,
  • and that the objective function below is maximized

  • MAX Σcontains(R B, t , b i, t ) w i, t.
  • In such embodiments, the dynamic fence defines a region with arbitrary shape whose size can be limited by the ETA. In that sense, the ETA can be an input parameter for dynamic fencing.
  • FIG. 2A shows an example of dynamic fences 200 for a business 201 that contains several control points with high values of wi, t. FIG. 2A also illustrates an example of overlap between dynamic fences 200 and control points 210.
  • A simple way of generating dynamic fences includes generating convex polygons either around the business location or around the center of mass of the control points. FIG. 2B shows examples for such naive solutions that use convex polygons 200 (i) around the center of mass of control points 210 (left) and (ii) around the business 201 (right), respectively. These naïve solutions are limited by the shape of the region generated, a single convex region in both cases. In both cases, the convex region can't extend far enough to encompass key control points because in both cases the convex polygons would have to cover empty areas that would cause the convex polygon to grow beyond the maximum area size (ETAB). Solution that are not constrained to generate convex regions can outperform such naive process due to the flexibility they provide to the objective function. Solutions that generates regions with arbitrary shapes are thus more desired. Regions with arbitrary shapes can be composed of disconnected regions and/or non-convex corners/curves and/or holes, as discussed further below.
  • In one embodiment, the fencing engine 166 takes as input some or all of the following input parameters associated with an advertisement campaign:
      • Location of the business advertised. It can be one of the following:
        • Latitude and longitude coordinates.
        • Name or address of the business to be advertised.
        • Location targeted. Optional parameter. The location targeted can be one of the following:
          • Latitude and longitude coordinates.
          • Name or address of the business or point of interest to be targeted. Example: Times Square, New York
          • Sequence of coordinates representing a path to be targeted.
          • Name or description of road or segment of road. Example: El Camino Real between Lawrence Expressway and Mathilda Avenue
      • Time.
        • Time of day
        • Date
      • Volume priority. This is a tuning parameter used by advertisers to increase the number of impressions, regardless of the ratio of the clicks and secondary actions. Possible values are in the [0,1] range.
      • Click priority. This is a tuning parameter used by advertisers to increase the focus of the campaign on maximizing the click through rate. Possible values are in the [0,1] range.
      • Secondary action priority. This is a tuning parameter used by advertisers to increase the secondary action through rate. Possible values are in the [0,1] range.
      • Targeting demographics
        • Age
        • Gender
        • Income
        • Race/Ethnicity
        • Marital status
        • Others
      • List of categories and/or keywords related to the ad campaign
  • The above data can be input via the UI or API provided by the fencing engine. Advertisers can initiate such interaction via an API call and can tune the advertising campaigns through changes to the values of the above-listed parameters through the UI or API, which can also display the dynamic fence generated, as discussed in further detail below.
  • In one embodiment, the fencing engine 166 can generate as its output one or more regions of arbitrary shapes. A region with arbitrary shape R may include a set of one or more contiguous closed regions R={r1, r2, . . . , rn} where each contiguous region ri has an external boundary ei and a set of one or more internal boundaries {ki1, ki2, . . . , kim}. Each boundary b, external or internal, can be defined by a sequence of points b=seq{pi, p2, . . . , pn}. A point p can have two coordinates, latitude and longitude.
  • In one embodiment, the external boundaries of two contiguous closed regions that belong to the same arbitrary region can only touch on a single point. Likewise, an internal boundary of a contiguous closed region can only touch another internal boundary on a single point.
  • In a further embodiment, an internal boundary of a contiguous closed region can only touch the external boundary of the region on a single point. FIG. 3 shows one example of a region 300 with arbitrary shape composed of three contiguous closed regions 310, 320, and 330. Region 310 has one internal boundary 303. The remaining two contiguous closed regions 320 and 330 touch at a single point 325. As shown in FIG. 3, these regions 310, 320 and 330 have arbitrary shapes and can include both convex corners/curves 301 and non-convex corners/curves 302, and can have holes 303.
  • FIG. 4 is a high level logical view illustrating a process 400 for generating dynamic fences according to certain embodiments. As shown in FIG. 4, process 400 includes obtaining 410 a set of control points relevant to the dynamic fence based on input campaign information by retrieving and sampling (randomly picking some of the) points, or geographical coordinates, extracted from historical data or other sources associated with geographical locations. The control points represent locations associated with ad impressions, clicks, and/or secondary actions collected from mobile devices. The choice of control points represents an adaptation approach that uses knowledge about where impressions, clicks and conversions are generated in order to shape the fence. The sampling strategy for control points is a function of tuning parameters provided by advertisers via the API as well as of the level of precision/resolution desired for the dynamic fence.
  • The process 400 further includes annotating 420 the control points with data that adds signal from keywords (or categories). For example, if a control point is in the neighborhood of several restaurants, the control point can be annotated with the tuple (category=“restaurants”, signal=0.5). Multiple annotations of the same keyword (or category) to the same control point can be combined into a single annotation.
  • The process 400 further includes producing 430 a topological data structure (TDS) using the control points and annotations. The TDS divides a region covered by control points into small regions, called faces. The process 400 further includes generating 440 the dynamic fence using the TDS by combining the faces.
  • Certain logical aspects of the process 400 are described in further detail below. At a high level, according to one embodiment, a dynamic fence can be generated by: (i) subdividing a region into faces; (ii) selecting a subset of faces; and (iii) collapsing the subset of faces to generate the dynamic fence.
  • In one embodiment, to subdivide a geographic region, the neighborhood of a targeted location is divided into small areas, s1, s2, . . . , sn, called faces, such that each control point pi is associated with a face si. An objective function is used to bring as many faces with high weights as possible into a final region.
  • In one embodiment, in a so-called greedy process for calculating a dynamic fence, the density of each face is computed as
  • d ( s i ) = w i area ( s i ) ,
  • and all of the faces are sorted in descending order of density. Then the top most dense faces are merged while keeping dynamicFenceArea≦ETA. The complexity of this process is the complexity of the sorting step O(N*log(N)) as the sorting step dominates the process. This greedy process produces optimal results in cases where all of the faces have about the same size.
  • For faces with distinct sizes, the greedy process is not optimal due to, for example, a corner case where the following conditions happen: (i) dynamicFenceArea<ETA and (ii) There is a face s1 not included in the dynamic fence, with lower density, greater w1 and greater area(s1) that could replace one of the faces included in the dynamic fence, increasing the result of objective function while still keeping dynamicFenceArea≦ETA. In real-life scenarios with dynamic fences with tens of thousands of faces, any process that attempt to improve the greedy process by reducing the difference (ETA−dynamicFenceArea) would produce negligible improvements. Therefore, it is unnecessary to invest in complex heuristics and expensive combinatorial process to address such corner cases.
  • FIGS. 5A-5E show an example of how the objective function shapes a dynamic fence. FIG. 5A shows an example of a set of control points 510 for a location 501 targeted for an advertisement campaign. FIG. 5B shows how a geographic region 520 that surrounds the control points is subdivided into eleven faces 522. FIG. 5C shows signal strength in each face. FIG. 5D shows density for each face. FIG. 5E shows how the objective function shapes the dynamic fence. Assuming that the ETA is thirteen square units, the objective function selects six top density faces to form the dynamic fence.
  • As shown in FIG. 4, in certain embodiments of the process 400, a set of control points that match location, time, demographics, keywords and categories passed by the API are identified in 410. The control points can be a subset of locations from historical data 412 that are known to be associated with secondary actions, clicks and impressions. Each control point may have some initial annotations, such as the following:
      • (“IMPRESSION”, 0 or 1)
      • (“CLICK”, 0 or 1)
      • (“SECONDARY ACTION”, 0 or 1)
        where “1” indicates that the control point had a least one impression (click or call) in the past, and “0” indicates otherwise. Only one of the annotations is usually applied to a control point.
  • Note that such time dependent approach for control point retrieval can enable dynamic fences to vary in shape depending on the time of day, day of week, day of the month, holidays etc.
  • After control points are generated, in 420, a series of annotators 422 can process the control points and annotate each point with (keywordOrCategory, signalStrength) annotations. Each annotation has a signal strength in the (0 . . . 1] range. The annotator's model that computes the signal strength should consider using the API input parameters as input features. For example, for categories (input parameter) where proximity is correlated with clicks and secondary actions, such as “restaurants” and “gas stations”, the signal strength should decay with the distance between the business location (input parameter) and the control point.
  • A case that requires special attention is when the advertiser targets a business or point-of-interest. In such case, the signal strength should decay with the distance between the business or target location and control point.
  • Annotators 422 may use historical search, display data and demand data stored in their respective repositories 425 to generate annotations. In an example in which search data is used to generate annotations, the locations of control points can be joined with nearby historical data for search and display requests. If clicks and secondary actions were generated for a cluster of searches to “restaurants”, the annotators 422 can annotate nearby control points with the keyword “restaurants.” The signal strength can be a function of the number and density of clicks and conversions for restaurants in the area.
  • The control points can also be annotated using other types of sources. In a high level example, Nielsen PRIZM could be used as an external source annotator. The Nielsen PRIZM is a set of geo-demographic segments for the United States. It assigns segments such as “Money & Brains” to geographical locations. A Nielsen PRIZM annotator could annotate control points inside regions marked by Nielsen PRIZM as “Money & Brains” with keywords associated with luxury items such as “Lexus” or “Vacation in Europe.”
  • In certain embodiments, annotations are blended in 420 using a linear model. For example, let AW=(wa 1 , . . . , wa n ) be a vector of weights for annotators 1 . . . n. These weights can be constant per annotator and can be tuned using an offline feedback pipeline. Now let KS(k, p)=(ya 1 , ya n ) be a vector of weights for a control point p and a keyword (or category) k. The following formula computes the final weight W(k, p) which blends annotations for the keyword (or category) k for the control point p:
  • W ( k , p ) = i = 1 n W a i * y a i
  • The vector of annotator weights AW=(wa 1 , . . . , wa n ) can be tuned using a gradient descent process. The gradient descent process uses an offline pipeline that aggregates data daily for the gradient descent iterations. The gradient descent process uses an objective function that combines revenue, clicks and call data collected from historical data.
  • Before generating the dynamic fence, the process 400 generates a topological data structure (TDS) in 430 to subdivide the neighborhood of the target location into a set of small regions, s1, s2, . . . , sn, i.e, the faces. The build graph component also computes the final signal strength, wi, of each face. Each face si in the TDS corresponds to one control point pi. Each face knows which faces are adjacent to it and also knows the sequence of coordinates that form its boundary.
  • FIG. 6 is a two-dimensional view of topological data structures and fences showing a real example of a topological data structure generated using control points, and fences generated via the combination of multiple adjacent faces.
  • In one embodiment, the weight wi for each face is computed as follows. First, a combined weight for the keywords (or categories) associated with the ad campaign is computed using a weighted average function. For example, assuming the process 400 is trying to draw a dynamic fence for a business associated with “restaurant” and “fast food” keywords, a control point pi is annotated with W(restaurant, pi)=0.6 and W(fast food, pi)=0.3, and the weights for the keywords “restaurant” and “fast food” are W restaurant=4 and W fastfood=2. The final value for the weighted average is
  • ( 0.6 * 4 + 0.3 * 2 ) ( 4 + 2 ) = 0.5 .
  • In one embodiment, the result of the weighted average is multiplied by the impression, click and secondary action tuning parameters set by the advertisers. For example, assuming that the ad campaign has the priorities 1, 4 and 10 for impressions, clicks and secondary actions, respectively. If pi is a secondary action, the value of wi after the ad campaign priority is applied is: wi=0.5*10=5.
  • In 440 of process 400, the TDS and the weights associated with each face of the TDS are used to select a subset of faces to shape the dynamic fence. For example, when the greedy process adds a face to the dynamic fence, one of three scenarios may happen:
      • The new face is not adjacent to any other face in the dynamic fence. This face becomes a new cluster of faces (with a single face).
      • The new face is adjacent to one or more faces in one cluster of faces. This face is added to the cluster of faces adjacent to it.
      • The new face is adjacent to faces in two or more clusters of faces. A new parent cluster is created that contains the new face and references the adjacent clusters as child clusters.
  • After the clusters of faces are identified, each hierarchy of clusters should be transformed in a single cluster. A trivial linear process can be used to flatten the hierarchies of clusters. Each final cluster can become a contiguous closed region. Note that the dynamic fence is represented as a collection of contiguous closed regions that form a region with arbitrary shape (see FIG. 3). The external and internal boundaries of each contiguous closed region are generated in the following way:
      • The boundary between two faces is a line segment represented by two points. Every boundary of a face that is adjacent to a face that does not belong to any cluster is part of either an external boundary or internal boundary. Such line segments are marked as boundary segments.
      • Adjacent marked line segments are connected in order to form loops that correspond to the external and internal boundaries of each contiguous closed region.
  • At this point the boundaries of each contiguous closed region are identified but it is not known yet which boundary is the external boundary. One simple solution is to calculate the area defined by each boundary. The boundary with the greatest area is the external boundary, and the remaining boundaries are internal boundaries.
  • In certain embodiments, external boundaries should be oriented clock-wise and internal boundaries should be oriented counter-clock wise. The orientation may be useful to display the contiguous closed regions.
  • The process discussed so far is linear with the number of faces. Therefore, the complexity of the process remains O(N*log(N)) as previously asserted.
  • Optionally, the following extra steps can be applied for performance reasons:
      • Drop very small contiguous closed regions and small holes.
      • Simplify the boundaries of contiguous regions, through the replacement of each boundary with a new smaller sequence of points, while minimizing alterations to the geographic region covered. The simplification of boundaries can be a trivial computer graphics process extensively covered in the literature.
  • Small contiguous closed regions and small holes can be dropped while minimizing the impact on the result of the ranking function in that all of the faces whose contiguous closed regions fall below a given threshold are moved to a set of faces that are not assigned to any cluster.
  • One possible threshold could be defined as a fraction of the result of the objective function. Contiguous closed regions whose combined sum of wi is less than the threshold are excluded from the dynamic fence. The threshold should be tuned based on a proper balance between the performance improvement and the negative impact in metrics (clicks and secondary actions).
  • Note that the set of faces that are not assigned to any cluster includes: (i) the faces that belonged to contiguous closed regions that were just recycled and (ii) faces that were never assigned to any contiguous regions.
  • The greedy process that assigns faces to clusters is repeated with one exception, i.e., new clusters cannot be created. Faces can only be assigned to existing clusters or cause clusters to merge. This step is repeated until the maximum area size MA is reached. Note that the faces don't need to be sorted again. The order set for the first run of the greedy process is reused.
  • In order to eliminate holes, the process should tolerate an increase in the final size of the dynamic fence by a constant factor. Again, such threshold should be tuned based on a proper balance between the performance improvement and the negative impact in metrics (clicks and secondary actions).
  • It is worth mentioning that eliminating small contiguous regions and holes can also help avoiding overfitting. In this context, very small contiguous regions may represent sparse historical signals (e.g. clicks and secondary actions) that may not repeat over time. Larger regions are more likely to be associated with patterns of events that repeat over time.
  • FIG. 7 illustrates an example of a user interface (UI) or application program interface (API) 700 that visualizes dynamic fences according to certain embodiments. Advertisers or campaign managers can use the UI or API 700 to tune dynamic fences. In one embodiment, the UI or API 700 includes a form 710 and a canvas 720. An advertiser can enter parameters that can impact the shape of the dynamic fence using the form 710. The canvas 720 displays one or more resulting fences 722 and/or an animation that shows how the fences 722 change over the course of the day. For example, as shown in FIG. 7, the parameters can include:
      • Keyword or category: this could be a free form text with a drop-down list that offers suggestions as the user types into the field.
      • Location or targeting location: the problem of how to find a location of a name or address is addressed by multiple geocoding solutions commercially available and is not part of claims in this document. If the name or address provided is ambiguous, the UI may display a window to the user where he chooses one of multiple options. Another alternative is to display in the canvas multiple locations and ask the user to choose one of them.
      • Volume, click and secondary action priorities: an alternative to the basic keyboard input for numeric values is the use of dials or sliders to capture volume, click and secondary action priority.
      • Targeting expression: it can be captured as expression typed into the text field or, optionally, each demographic targeting domain could be captured in separate fields.
  • The image displayed in the canvas 720 shows the state of the dynamic fence 722 at 5 PM. Instead of using an animation, the UI may offer a mechanism such as a slider or dial that the advertiser can use to visualize the dynamic fence at a specific time of day. The UI can also use stop/play buttons to stop and continue the animation on the canvas.
  • In one embodiment, the UI 700 in FIG. 7 can be used to implement business methods powered by dynamic fences. For example, in a business method of competitive conquest, an advertiser can use the UI 700 to target regions in a map where users are likely engaged with their competitors. For example, a Macy's department store may want to target users who are in or in the vicinity of a neighboring Bloomindale's. A BMW dealership may want to target users who are in the lot of competing brands such as Mercedes, Lexus, and Audi. In one embodiment, fences can be generated around the target areas based on user input or geographic input (i.e. the boundaries of the block in which a department store is located). Real-time data can adjust the fences generated based on geographic data. For example, intra-week variations such as higher traffic or movement over weekends can be captured
  • Similar to competitive conquest, in a method for real-time point-of-interest (POI) targeting, made possible with time-variant dynamic fences, an advertiser can target a region in a map associated with a POI (e.g. a neighborhood, a section of an interstate highway) where their target users are mobile in real-time.

Claims (20)

We claim:
1. A gen-fencing method, comprising:
receiving campaign information via connections to a packet-based network;
generating at least one dynamic fence of arbitrary shape based on the campaign information; and
updating the at least one dynamic fence in response to data received from the packet-based network.
2. The method of claim 1, wherein generating at least one dynamic fence of arbitrary shape further comprises:
obtaining a set of control points in a map based on the campaign information;
dividing a region covered by the control points into faces such that each control point is associated with a respective face; and
generating at least one dynamic fence based on a subset of the faces.
3. The method of claim 2, further comprising: annotating a respective control point based on a keyword/category and a signal strength associated with the keyword/category computed based on the campaign information.
4. The method of claim 3, wherein the campaign information includes a target location, and the signal strength for the respective control point decays with a distance between the target location and the respective control point.
5. The method of claim 2, wherein the control points represent locations associated with historical data.
6. The method of claim 5, wherein the historical data include data related to at least some of advertisement impressions, clicks, and secondary actions collected from mobile devices.
7. The method of claim 1, wherein the campaign information includes at least some of a keyword, a category, demographic targeting information, volume of impression priority, click priority and secondary action priority.
8. A method for an advertisement campaign, comprising:
providing a user interface in response to an API call, the user interface including a form to receive entries of information associated with the advertisement campaign;
generating at least one dynamic fence of arbitrary shape based on the entries; and
displaying the at least one dynamic fence on the user interface.
9. The method of claim 8, wherein the entries include at least one of a keyword, a category and a location.
10. The method of claim 8, wherein the entries include a target location.
11. The method of claim 8, wherein the entries include at least one of volume priority, click priority and secondary action priority.
12. The method of claim 8, wherein the entries include demographic targeting information.
13. The method of claim 8, wherein displaying the at least one dynamic fence on the user interface comprises displaying a video showing the at least one dynamic fence changing over time.
14. The apparatus of claim 8, wherein displaying the at least one dynamic fence on the user interface comprises providing a mechanism that can be used to visualize the at least one dynamic fence at a specific time.
15. An apparatus, comprising:
connections to a packet-based network;
one or more data stores storing therein historical data collected from mobile devices communicating with the packet-based network;
an interface engine configured to receive campaign information from the packet-based network; and
a fencing engine configured to generate at least one dynamic fence of arbitrary shape based on the campaign information.
16. The apparatus of claim 15, wherein the at least one dynamic fence changes in real-time based on updated historical data collected from mobile devices communicating with the packet-based network.
17. The apparatus of claim 15, wherein the fencing engine is further configured to provide a user interface having a form to allow entries of the campaign information.
18. The apparatus of claim 15, wherein the fencing engine is further configured to provide an interface to display the at least one dynamic fence.
19. The apparatus of claim 18, wherein the fencing engine is further configured to provide an interface to display a video of the at least one dynamic fence changing over time.
20. The apparatus of claim 18, wherein the interface includes a mechanism that can be used to visualize the at least one dynamic fence at a specific time.
US13/867,025 2012-11-08 2013-04-19 Method and Apparatus for Dynamic Fencing Abandoned US20140129293A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US13/867,025 US20140129293A1 (en) 2012-11-08 2013-04-19 Method and Apparatus for Dynamic Fencing
US14/716,813 US20150332325A1 (en) 2013-04-19 2015-05-19 System and Method for Visualizing Real-Time Location-Based Events
US14/716,811 US10939258B2 (en) 2013-04-19 2015-05-19 System and method for marketing mobile advertising supplies
US14/716,816 US9886703B2 (en) 2012-11-08 2015-05-19 System and method for estimating mobile device locations
US15/915,908 US11044579B2 (en) 2012-11-08 2018-03-08 Method and apparatus for dynamic geo-fencing
US17/349,859 US11570583B2 (en) 2012-11-08 2021-06-16 Method and apparatus for dynamic geo-fencing
US18/162,653 US20230262419A1 (en) 2012-11-08 2023-01-31 Method and Apparatus for Dynamic Geo-Fencing

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261724298P 2012-11-08 2012-11-08
US201261724295P 2012-11-08 2012-11-08
US201261724299P 2012-11-08 2012-11-08
US13/867,025 US20140129293A1 (en) 2012-11-08 2013-04-19 Method and Apparatus for Dynamic Fencing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/915,908 Continuation US11044579B2 (en) 2012-11-08 2018-03-08 Method and apparatus for dynamic geo-fencing

Publications (1)

Publication Number Publication Date
US20140129293A1 true US20140129293A1 (en) 2014-05-08

Family

ID=50622816

Family Applications (6)

Application Number Title Priority Date Filing Date
US13/867,029 Active 2033-12-18 US9210540B2 (en) 2012-11-08 2013-04-19 Method and apparatus for geographic document retrieval
US13/867,021 Active 2033-09-13 US9049549B2 (en) 2012-11-08 2013-04-19 Method and apparatus for probabilistic user location
US13/867,025 Abandoned US20140129293A1 (en) 2012-11-08 2013-04-19 Method and Apparatus for Dynamic Fencing
US15/915,908 Active 2034-07-15 US11044579B2 (en) 2012-11-08 2018-03-08 Method and apparatus for dynamic geo-fencing
US17/349,859 Active US11570583B2 (en) 2012-11-08 2021-06-16 Method and apparatus for dynamic geo-fencing
US18/162,653 Pending US20230262419A1 (en) 2012-11-08 2023-01-31 Method and Apparatus for Dynamic Geo-Fencing

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/867,029 Active 2033-12-18 US9210540B2 (en) 2012-11-08 2013-04-19 Method and apparatus for geographic document retrieval
US13/867,021 Active 2033-09-13 US9049549B2 (en) 2012-11-08 2013-04-19 Method and apparatus for probabilistic user location

Family Applications After (3)

Application Number Title Priority Date Filing Date
US15/915,908 Active 2034-07-15 US11044579B2 (en) 2012-11-08 2018-03-08 Method and apparatus for dynamic geo-fencing
US17/349,859 Active US11570583B2 (en) 2012-11-08 2021-06-16 Method and apparatus for dynamic geo-fencing
US18/162,653 Pending US20230262419A1 (en) 2012-11-08 2023-01-31 Method and Apparatus for Dynamic Geo-Fencing

Country Status (1)

Country Link
US (6) US9210540B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150235266A1 (en) * 2014-02-19 2015-08-20 Chintan Jain Systems and methods to create a geographic heatmap
CN105991677A (en) * 2015-01-30 2016-10-05 北京陌陌信息技术有限公司 Method and device for providing information objects to users
EP3371762A4 (en) * 2015-11-04 2019-07-10 Xad, Inc. Systems and methods for performance driven dynamic geo-fence based targeting
US10593074B1 (en) * 2016-03-16 2020-03-17 Liberty Mutual Insurance Company Interactive user interface for displaying geographic boundaries
CN111831760A (en) * 2019-04-23 2020-10-27 腾讯科技(深圳)有限公司 Method for processing position data, corresponding device and computer readable storage medium
US11200587B2 (en) * 2019-08-09 2021-12-14 International Business Machines Corporation Facilitating use of select hyper-local data sets for improved modeling
US11232116B2 (en) * 2018-08-27 2022-01-25 Baidu Online Network Technology (Beijing) Co., Ltd. Method, computer device and storage medium for mining point of interest competitive relationship
CN114222249A (en) * 2021-12-15 2022-03-22 四川科瑞软件有限责任公司 Electronic fence monitoring method and system based on geographic position
CN115357813A (en) * 2022-10-20 2022-11-18 荣耀终端有限公司 Sampling method and device and electronic equipment

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438499B2 (en) * 2012-09-06 2016-09-06 Intel Corporation Approximation of the physical location of devices and transitive device discovery through the sharing of neighborhood information using wireless or wired discovery mechanisms
US9886703B2 (en) 2012-11-08 2018-02-06 xAd, Inc. System and method for estimating mobile device locations
US20150149091A1 (en) * 2013-11-25 2015-05-28 PlaceIQ, Inc. Apparatus and Method for Determining the Quality or Accuracy of Reported Locations
US9449110B2 (en) * 2013-01-31 2016-09-20 Microsoft Technology Licensing, Llc Geotiles for finding relevant results from a geographically distributed set
US10939258B2 (en) * 2013-04-19 2021-03-02 xAd, Inc. System and method for marketing mobile advertising supplies
US20150260850A1 (en) * 2014-03-12 2015-09-17 Marvell World Trade Ltd Method and apparatus for geo-fence detection
US9632807B2 (en) * 2015-05-14 2017-04-25 Creative Technology Ltd System and method of processing for flexible interception of communication between system layers
US20170078840A1 (en) * 2015-09-14 2017-03-16 Amazon Technologies, Inc. Techniques for dynamic geographic fencing
US10564794B2 (en) * 2015-09-15 2020-02-18 Xerox Corporation Method and system for document management considering location, time and social context
US10762141B2 (en) 2017-03-10 2020-09-01 xAd, Inc. Using on-line and off-line projections to control information delivery to mobile devices
US11367102B2 (en) 2015-10-07 2022-06-21 xAd, Inc. Using on-line and off-line projections to control information delivery to mobile devices
US9848301B2 (en) 2015-11-20 2017-12-19 At&T Intellectual Property I, L.P. Facilitation of mobile device geolocation
US9998876B2 (en) 2016-07-27 2018-06-12 At&T Intellectual Property I, L.P. Inferring user equipment location data based on sector transition
CN106296274A (en) * 2016-08-03 2017-01-04 李立峰 A kind of method according to geographical location information positioning and directing advertisement putting
US10311057B2 (en) 2016-08-08 2019-06-04 International Business Machines Corporation Attribute value information for a data extent
US10360240B2 (en) 2016-08-08 2019-07-23 International Business Machines Corporation Providing multidimensional attribute value information
US11170393B1 (en) * 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
WO2019217947A1 (en) 2018-05-11 2019-11-14 Elsevier, Inc. Systems and methods for indexing geological features
US11694287B2 (en) * 2018-05-18 2023-07-04 Edst, Llc Intelligent property management system
US11146911B2 (en) 2018-08-17 2021-10-12 xAd, Inc. Systems and methods for pacing information campaigns based on predicted and observed location events
US20220092690A1 (en) * 2020-09-22 2022-03-24 Briza, Inc. Evaluation response system and method
CN115544188A (en) * 2021-06-30 2022-12-30 格步计程车控股私人有限公司 Method for labeling map data for vehicle navigation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668562A (en) * 1996-04-19 1997-09-16 Lgc Wireless, Inc. Measurement-based method of optimizing the placement of antennas in a RF distribution system
US20030032409A1 (en) * 2001-03-16 2003-02-13 Hutcheson Stewart Douglas Method and system for distributing content over a wireless communications system
US20100157848A1 (en) * 2008-12-22 2010-06-24 Qualcomm Incorporated Method and apparatus for providing and utilizing local maps and annotations in location determination
US20120008526A1 (en) * 2010-07-07 2012-01-12 Hooman Borghei Ad Hoc Formation and Tracking of Location-Sharing Groups
US20120105243A1 (en) * 2009-07-03 2012-05-03 Rabwa Pty Ltd. Radio activated danger warning system
US20120225672A1 (en) * 2011-03-01 2012-09-06 Newport Television Llc Geotargeted news and advertisement delivery system
US20120276928A1 (en) * 2011-04-29 2012-11-01 Jon Shutter Method and System for Providing Location Targeted Advertisements

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944465B2 (en) 1998-09-22 2005-09-13 Polaris Wireless, Inc. Estimating the location of a mobile unit based on the elimination of improbable locations
US20020111172A1 (en) 2001-02-14 2002-08-15 Dewolf Frederik M. Location based profiling
US9349128B1 (en) * 2006-11-30 2016-05-24 Nevrf Corporation Targeted content delivery
JP3669702B2 (en) 2003-02-25 2005-07-13 松下電器産業株式会社 Application program prediction method and mobile terminal
WO2005036319A2 (en) 2003-09-22 2005-04-21 Catalina Marketing International, Inc. Assumed demographics, predicted behaviour, and targeted incentives
JP5336079B2 (en) 2004-10-01 2013-11-06 リーチローカル・インコーポレーテッド Method and apparatus for executing promotional campaigns on behalf of advertisers
JP4783181B2 (en) 2006-03-13 2011-09-28 株式会社東芝 Behavior prediction device
WO2008134595A1 (en) * 2007-04-27 2008-11-06 Pelago, Inc. Determining locations of interest based on user visits
CN101802860A (en) 2007-07-09 2010-08-11 维蒂公开股份有限公司 Mobile device marketing and advertising platforms, methods, and systems
EP2071355B1 (en) 2007-12-13 2015-07-29 Swisscom AG System and method for determining a location area of a mobile user
US9706345B2 (en) 2008-01-04 2017-07-11 Excalibur Ip, Llc Interest mapping system
JP5077429B2 (en) 2008-03-31 2012-11-21 富士通株式会社 Information distribution apparatus, information distribution method, and program
US20100312599A1 (en) 2009-06-08 2010-12-09 Caterpillar Inc. System and Method for Measuring Productivity of a Machine
JP5440080B2 (en) 2009-10-02 2014-03-12 ソニー株式会社 Action pattern analysis system, portable terminal, action pattern analysis method, and program
US9386421B2 (en) 2009-12-18 2016-07-05 Trueposition, Inc. Location intelligence management system for border security
WO2011115916A1 (en) 2010-03-15 2011-09-22 The Nielsen Company (Us), Llc Methods and apparatus for integrating volumetric sales data, media consumption information, and geographic -demographic data to target advertisements
US8660355B2 (en) 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
JP2012032893A (en) 2010-07-28 2012-02-16 Sevennet Kk Area-targeting advertisement delivery system
US8832003B1 (en) 2011-03-25 2014-09-09 Google Inc. Provision of computer resources based on location history
US20120284769A1 (en) 2011-05-06 2012-11-08 Kyle Dixon Systems and Methods of Intelligent Policy-Based Geo-Fencing
US8676937B2 (en) 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
EP2541485A1 (en) 2011-06-30 2013-01-02 France Telecom Method for constructing geo-fences for a spatial recommendation and discovery system
EP2570974B1 (en) 2011-09-13 2018-11-28 ExB Asset Management GmbH Automatic crowd sourcing for machine learning in information extraction
US10127564B2 (en) 2011-09-15 2018-11-13 Stephan HEATH System and method for using impressions tracking and analysis, location information, 2D and 3D mapping, mobile mapping, social media, and user behavior and information for generating mobile and internet posted promotions or offers for, and/or sales of, products and/or services
US8170971B1 (en) 2011-09-28 2012-05-01 Ava, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US8941489B2 (en) 2011-10-20 2015-01-27 Qualcomm Incorporated Method and/or apparatus for geofence management
TWI627987B (en) 2012-02-28 2018-07-01 Cfph有限責任公司 Method and apparatus of providing gameing service
EP2820630A4 (en) 2012-03-02 2016-03-23 Telecomm Systems Inc Location agent geofence
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9210545B2 (en) 2012-06-05 2015-12-08 Apple Inc. Managing alerts based on context
WO2013184603A1 (en) 2012-06-07 2013-12-12 Trueposition, Inc. Location intelligence management system
US9357346B2 (en) 2012-07-16 2016-05-31 Aisle411, Inc. System and method for indoor location mapping and tracking
US20140150100A1 (en) 2012-08-15 2014-05-29 Qualcomm Incorporated Adaptive Observation of Driver and Hardware Level Behavioral Features on a Mobile Device
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US10148709B2 (en) * 2012-08-31 2018-12-04 Here Global B.V. Method and apparatus for updating or validating a geographic record based on crowdsourced location data
US10380636B2 (en) 2012-12-06 2019-08-13 Ebay Inc. Systems and methods for statistical dynamic geofencing
US20140164369A1 (en) 2012-12-10 2014-06-12 Google Inc Item count approximation
US20140342337A1 (en) 2013-05-14 2014-11-20 International Business Machines Corporation Pervasive training over different locations or devices as a function of presence
US20140365307A1 (en) 2013-06-07 2014-12-11 Ebay Inc. Transmitting listings based on detected location
US20150066593A1 (en) 2013-08-30 2015-03-05 Google Inc. Determining a precision factor for a content selection parameter value
WO2015058123A1 (en) 2013-10-18 2015-04-23 Trueposition, Inc. Location intelligence management system for border security

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668562A (en) * 1996-04-19 1997-09-16 Lgc Wireless, Inc. Measurement-based method of optimizing the placement of antennas in a RF distribution system
US20030032409A1 (en) * 2001-03-16 2003-02-13 Hutcheson Stewart Douglas Method and system for distributing content over a wireless communications system
US20100157848A1 (en) * 2008-12-22 2010-06-24 Qualcomm Incorporated Method and apparatus for providing and utilizing local maps and annotations in location determination
US20120105243A1 (en) * 2009-07-03 2012-05-03 Rabwa Pty Ltd. Radio activated danger warning system
US20120008526A1 (en) * 2010-07-07 2012-01-12 Hooman Borghei Ad Hoc Formation and Tracking of Location-Sharing Groups
US20120225672A1 (en) * 2011-03-01 2012-09-06 Newport Television Llc Geotargeted news and advertisement delivery system
US20120276928A1 (en) * 2011-04-29 2012-11-01 Jon Shutter Method and System for Providing Location Targeted Advertisements

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150235266A1 (en) * 2014-02-19 2015-08-20 Chintan Jain Systems and methods to create a geographic heatmap
US10163132B2 (en) * 2014-02-19 2018-12-25 Ebay Inc. Systems and methods to create a geographic heatmap
CN105991677A (en) * 2015-01-30 2016-10-05 北京陌陌信息技术有限公司 Method and device for providing information objects to users
EP3371762A4 (en) * 2015-11-04 2019-07-10 Xad, Inc. Systems and methods for performance driven dynamic geo-fence based targeting
US10593074B1 (en) * 2016-03-16 2020-03-17 Liberty Mutual Insurance Company Interactive user interface for displaying geographic boundaries
US11232116B2 (en) * 2018-08-27 2022-01-25 Baidu Online Network Technology (Beijing) Co., Ltd. Method, computer device and storage medium for mining point of interest competitive relationship
CN111831760A (en) * 2019-04-23 2020-10-27 腾讯科技(深圳)有限公司 Method for processing position data, corresponding device and computer readable storage medium
US11200587B2 (en) * 2019-08-09 2021-12-14 International Business Machines Corporation Facilitating use of select hyper-local data sets for improved modeling
CN114222249A (en) * 2021-12-15 2022-03-22 四川科瑞软件有限责任公司 Electronic fence monitoring method and system based on geographic position
CN115357813A (en) * 2022-10-20 2022-11-18 荣耀终端有限公司 Sampling method and device and electronic equipment

Also Published As

Publication number Publication date
US20140129566A1 (en) 2014-05-08
US20180199152A1 (en) 2018-07-12
US11044579B2 (en) 2021-06-22
US9210540B2 (en) 2015-12-08
US20140128104A1 (en) 2014-05-08
US11570583B2 (en) 2023-01-31
US9049549B2 (en) 2015-06-02
US20210314737A1 (en) 2021-10-07
US20230262419A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
US11570583B2 (en) Method and apparatus for dynamic geo-fencing
US10715962B2 (en) Systems and methods for predicting lookalike mobile devices
US10311452B2 (en) Computerized systems and methods of mapping attention based on W4 data related to a user
US10726438B2 (en) Personalized contextual coupon engine
JP5771534B2 (en) System and method for delivering sponsored landmarks and location labels
US9574899B2 (en) Systems and method for determination and display of personalized distance
US9269098B2 (en) Push-based recommendations
US20100027527A1 (en) System and method for improved mapping and routing
US20110208724A1 (en) Entity Display Priority In A Distributed Geographic Information System
US20120047013A1 (en) Real Time Statistics Extraction From Arbitrary Advertising Audiences
US20100185517A1 (en) User interface for interest-based targeted marketing
CN103635924A (en) Multi-step impression campaigns
JP7285521B2 (en) System and method for predicting similar mobile devices
CN106471537A (en) Based on roundabout content choice
Ahn et al. Mobile advertisement recommender system using collaborative filtering: MAR-CF
CN104123281B (en) The method and system suggested is provided using positional information
Chen et al. Joint promotion partner recommendation systems using data from location-based social networks
Lin Indoor location-based recommender system

Legal Events

Date Code Title Description
AS Assignment

Owner name: XAD, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANG, CHI-CHAO;MUTTINENI, PRAKASH;VENKATESAN, SRIHARI;AND OTHERS;REEL/FRAME:030256/0698

Effective date: 20130417

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION