The present disclosure relates generally to communication networks, and more particularly, to location analytics for wireless networks.
Many public areas such as shopping malts display content (e.g., advertisements) on display screens. Each advertisement may vary in duration (e.g., 15, 30, 60 seconds). If the length of time that it takes for the full advertisement to be displayed is greater than the general dwell time of people in the vicinity of the display screen, the intent of the advertisement may be missed by the majority of the people. Therefore, only advertisements that have a duration less than the general dwell time of shoppers in the area should be run. However, dwell time is dynamic and changes over time based on many different factors. For example, a sale in a particular store may increase dwell time in the vicinity of the store, or dwell time may increase in a food court during lunch or dinner time.
Corresponding reference characters indicate corresponding parts throughout the several views of the drawings.
In one embodiment, a method generally comprises receiving location data for a plurality of mobile devices located in an area comprising a display screen, processing at a network device, the location data to generate location analytics for the area, the location analytics comprising dwell time for users of the mobile devices, and transmitting the location analytics to a content source operable to select content for display on the display screen based on the location analytics.
In another embodiment, an apparatus generally comprises a processor for receiving location data for a plurality of mobile devices located in an area comprising a display screen, processing the location data to generate location analytics for the area, the location analytics comprising dwell time for users of the mobile devices, and transmitting the location analytics to a content source operable to select content for display on the display screen based on the location analytics. The apparatus further comprises memory for storing the location analytics.
The following description is presented to enable one of ordinary skill in the art to make and use the embodiments. Descriptions of specific embodiments and applications are provided only as examples, and various modifications will be readily apparent to those skilled in the art. The general principles described herein may be applied to other applications without departing from the scope of the embodiments. Thus, the embodiments are not to be limited to those shown, but are to be accorded the widest scope consistent with the principles and features described herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the embodiments have not been described in detail.
Content may be displayed in various locations to provide, for example, information on products or services, sales or other promotions, or other information. Locations include, for example, shopping centers, malls, stores, airports, museums, or any other location in which display, screens may be used to display content to multiple users. Conventional systems use either manually updated or preconfigured content for display and do not take into account dynamic or changing dwell time of users.
The embodiments described herein allow for content selection based on mobile device location analytics, including for example, dwell time of users, number of users, and location and mobility behavior of users. The embodiments provide optimization for timing and duration of content delivery based on actual traffic flow, thereby allowing for more accurate placement of value on advertisements and other content. This makes the network relevant to users without their explicit participation and provides content of appropriate length based on real time location analytics. The embodiments may be used, for example, to enable real time revenue models to price advertisement differently based on the current number of users and their dwell time in the vicinity of the advertisement display.
Referring now to the drawings, and first to
The mobile device 14 (also referred to as a wireless device, user device, client device/client, endpoint) may be any suitable equipment that supports wireless communication, including for example, a cellular phone, personal digital assistant, portable computing device, tablet, multimedia device, and the like. The mobile devices 14 communicate with the network 16 via access points 15 using a wireless transmission protocol (e.g., IEEE 802.11/WiFi). The access points 15 may also be in communication with one or more wireless controllers (not shown), which may be configured for communication with the location analytics device 10.
The location analytics device 10 may be, for example, a services engine, such as a Mobility Services Engine, available from Cisco Systems, Inc. of San Jose, Calif., or any other network engine, appliance, device, application, module, or component. The location analytics device 10 may comprise a location services server or receive location data from another network device. The location analytics device 10 may include, for example, a location appliance that operates in conjunction with the access points 15 and a wireless control system. A location appliance, such as Cisco Wireless Location Appliance, may be used to track the physical location of wireless devices 14 to within a few meters. The location of the wireless devices 14 may be based on one or more access points 15.
The location analytics device 10 is associated with an area in which the mobile devices 14 are being monitored in real time. In one embodiment, the location analytics device 10 is configured to identify and track the location of a plurality of mobile devices 14 in a specified area and also track the time spent in the area. The location analytics device 10 may monitor more than one area (e.g.; each area associated with a different display screen 18) or more than one location analytics device 10 may be used to monitor different areas. The area may be defined, for example, by coordinates (e.g., xy coordinates) or relative distance from the display screen 18 or another fixed point. The position of the mobile device 14 may be identified using coordinates within a predefined space (area) or relative position to a specified object. As described below, mobile device location data may be filtered to better identify the actual location and movement of the mobile devices 14. Location analytics are then derived from the filtered location data. The location analytics device 10 transmits the location analytics to content source 12 for use in automated content selection and delivery to one or more display screens 18.
The content source 12 may be, for example, a server that stores the data locally or obtains the data from another server or media source via another network, satellite, cable, or any other communication device. The content source 12 may be part of a content delivery network operable to acquire and transmit media. The content delivery network may include streaming applications for content delivery to the display screens 18. Content may include, for example, video, images, graphics, text, audio, or other data or combination thereof.
The content source 12 may include an application programming; interface (API) for communication with the location analytics device 10. In one embodiment, a venue manager may subscribe to analytics of certain areas in which display screens 18 are visible via the API. The API provides real time statistics of the number of users and the dwell time in the area. The content source 12 (e.g., content distribution network) uses this information to provide content and advertisements based on the dwell time of users in that area. Information as to the number of users in the vicinity of the display screen 18 when advertisements are displayed may also be used for billing purposes.
The display screens 18 are configured to display content received from the content source 12. The display screen 18 may comprise one or more digital sign (electronic display) operable to display content (e.g., advertisement, information, messages). The display screen 18 may comprise, for example, an LCD (liquid crystal display) screen, LED (light emitting diode) screen, plasma display, projected image screen (rear projection screen, front projection screen), or any other suitable device.
It is to be understood that the network shown in
Memory 24 may be a volatile memory or non-volatile storage, which stores various applications, operating systems, modules, and data for execution and use by the processor 22. Memory stores location data 25 obtained by the location tracking system and information used by the analytics engine 28. The location data 25 may be stored, for example, in cache, a database, or any other suitable data structure.
Logic may be encoded in one or more tangible media for execution by the processor 22. For example, the processor 22 may execute codes stored in a computer-readable medium such as memory 24. The computer-readable medium may be, for example, electronic (e.g., RAM (random access memory), ROM (read-only memory), EPROM (erasable programmable read-only memory)), magnetic, optical (e.g., CD, DVD), electromagnetic, semiconductor, technology, or any other suitable medium.
The network interface 26 may comprise any number of interfaces (linecards, ports) for receiving data or transmitting data to other devices. The interface 26 may include, for example, an Ethernet interface for connection to a computer or network.
In one embodiment, the analytics engine 28 includes a filter 27 for filtering location data, as described in detail below. The analytics engine 28 derives location analytics from the filtered location data. The analytics engine 28 may comprise a module, computer code, or other device. For example, the analytics engine 28 and filter 27 may comprise computer code stored in memory 24.
It is to be understood that the network device 20 shown in
The content source 12 transmits the content to the display screen 18 (step 44). The content may be delivered, for example, as streaming media or as a content file with a schedule for displaying the content. The content selection may be automatically adjusted by the content source 12 based on changes in location analytics (step 46). For example, the location analytics may indicate that mobile device users are moving more quickly through an area in which the display screen 18 is located. In this case, the content source 12 may begin to transmit advertisements with shorter duration. The content source 12 may receive updates from the location analytics device 10 at periodic intervals. The intervals may vary based on the time of the day (e.g., receive updates more often at lunch time or evening) or day of the week (e.g., receive updates more often on weekends).
It is to be understood that the processes shown in
Examples of information provided in the location analytics and used with; the location analytics for content selection are shown in
The table 50 shown in
The table 52 shown in
It is to be understood that the data and data structures shown in
In one embodiment, data from more than one area is used in selection of content to display. For example, if the mobility behavior of users in nearby areas is available, then the advertisements can be synced up across multiple displays 18. The location information may indicate, for example, that the users generally move from a first area to a second area. The display screens 18 in the first and second areas may then be configured to play the same content with the display screen in the second area having a small lag with respect to the content played in the first area, based on the mobility speed of the users. Other intelligent programming can be used based on the mobility pattern of the user. For example, if users generally move from a first area to a second area, then advertisements pertaining to shops in the second area may be displayed on the display screens 18 in the first area.
In one embodiment, mobile device users that have signed up for a loyalty or other consumer program, can be tracked and the advertisements selected based at least in part, on the shopping patterns or preferences of the users in that area.
The following describes examples of methods that may be used by a location tracking device (e.g., location analytics device 10 or other device in communication with the location analytics device) to track the mobile devices 14. It is to be understood that these are only examples and other methods may be used, as are well known by those skilled in the art.
The locations of the mobile devices 14 may be identified using, for example, WiFi technology. In one embodiment; the location tracking device is configured to track any IEEE 802.11 device using RF (radio frequency) signals. The RF signals may be processed, for example, to identify received signal strength (RSSI) or a time difference of arrival (TDOA). With RSSI, the access points 15 receive a signal from the mobile device 14 and measure a signal parameter such as signal strength indication of the received signal and forward the measurement to the location tracking device. The APs 15 may also send additional data such as antenna type, antenna gain, antenna orientation, etc. to the location tracking device. With TDOA, the APs 15 measure time, of arrival (ToA) and the location tracking device determines from time differences of arrival an initial estimate location.
In one embodiment, the location tracking device tracks the mobile devices 14 using x-position and y-position (xy coordinates). Any number of x-position and y-position measurements may be obtained. The location data may be sent to a server containing a location database, along with a timestamp corresponding to when the mobile device 14 was at the location so that the position measurements may be processed such that a speed of the mobile device user may be determined. After the position coordinates and corresponding time measurements are obtained, changes in position coordinates with respect to changes in time can be estimated and stored. The estimates of changes in position coordinates with respect to changes in time may be used to calculate speed of the mobile device 14.
As noted above, the location data may be filtered and the analytics derived from the filtered location data. The following describes examples of filtering that may be performed on WiFi based location data prior to considering the location data for analytics.
The raw location data may be passed through an initial filter (e.g., Kalman filter) to smooth the data out after the raw location is calculated. However, this initial filter may not compensate for all errors, since it may be based on the previous location measurements as it is done real time and by design it needs to apply conservative filtering as quick location updates are expected. These errors can be corrected in post processing after all location data is known, with the use of additional parameters and filtering, as described below.
One of the most general cases of mobility is when the mobile device 14 moves and then remains stationary at a location before moving again, and then repeats this pattern, or performs any portion of this sequence (e.g., user remains stationary or is always moving).
First, the dwell times and movement of the user shown in
Second, a list of APs that heard the client at locations A, B, and C indicates poor location quality for location B:
i) in position A, there were 4 APs>−75 dBm hearing the client;
ii) in position B, there was 1 AP=−85 dBm hearing the client; and
iii) in position C, there were 9 APs>−75 dBm hearing the client.
In the above example, the average dwell time for the client in the vicinity of locations A and C is actually 22+3.2+14=39.2 minutes. However, due to the WiFi location anomaly the average dwell time would be calculated as mean (22, 14)=18 minutes. This results in a large error (about 50% error). Moreover, the mobility pattern of the client would be incorrectly determined.
Another problem with the unfiltered location data is that error in location accuracy is not considered. WiFi based location includes some error in location (e.g., five meters on average), which needs to be compensated for during dwell time calculations.
In one embodiment, the location data is filtered by taking into account a location confidence factor. In the example shown in
The removal of low confidence readings by filtering the location data makes the mobility pattern much clearer. It also provides a better estimate of the dwell time and the mobility pattern of the client, without eliminating legitimate short movements of the client.
In one embodiment, filtering is performed using a smoothening algorithm to remove outlier data (e.g., location data point B in
In the above example, exponential function (ecf(t)) is one example of a weighting factor. Other functions may be used to take into account the confidence factor.
The confidence factor (cf) may be based oh various parameters. Examples of parameters and confidence factor weights are shown below in Table I. It is to be understood that the parameters and weights shown in Table I are only examples and that other parameters may be used. For example, a metric that represents one-half of a side of a square encompassing the 90% probability region of location estimation may be used in as a confidence factor. Also, any combination of these or other parameters may be used to calculate the confidence factor.
Other filtering operations may be used in combination with the smoothening algorithm described above. For example, a larger size weighted moving average filter, particle filter, Kalman filter, or other filter may be used instead of a simple weighted moving average filter. Kalman filter parameters may be modified over time for a user based on the user's mobility characteristics (see, for example, U.S. Patent Application Publication No. 2010/0271228).
Although the method and apparatus have been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations made without departing from the scope of the embodiments. Accordingly, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.