Wireless indoor consumer tracking

In an example, a method comprises communicating with a radio frequency (RF)-enabled asset tag within a space, tracking a location of the RF-enabled asset tag within the space, determining location estimates of the asset tag as the asset tag moves within the space, and accepting identifying information from or about a selected user. The method additionally comprises determining, based on a predetermined correspondence criteria, a correspondence between the asset tag location and a position estimate of an electronic hardware device within the space. Further, in response to determining the correspondence between the asset tag and the electronic hardware device and based at least in part on the identifying information accepted via the electronic hardware device, the method includes associating tracked asset tag location information corresponding to the location estimates of the asset tag as the asset tag moved within the space to identification of the selected user.

TECHNICAL FIELD

The present subject matter relates to systems and methods to associate a tracked asset tag with a user, based on a physical correspondence between the tracked asset tag and a device the user is operating.

BACKGROUND

Online marketplaces have significantly increased the amount of data online retailers are able to collect about their customers' shopping habits, at an almost incidental level of cost: every single page view, every click shoppers make can be saved, analyzed, and applied to improve website performance and drive growth. This has put brick and mortar stores at a competitive disadvantage: high-quality consumer tracking in physical stores has been confined to research projects set in particular stores using specialized data-gathering setups. Therefore, detailed consumer behavior data, such as consumer movement data, has not been available to most store operators. Updating such data has required the conduct of dedicated studies, and movement data has not been linked extensively to consumer-specific, out-of-store data.

New technology has allowed for tracking electronic radios, like radio frequency (RF) tags through a store: the tag is usually attached to a product, or is somehow attached to the consumer. This tag can be tracked by sensors, and a graph of positional data over time can be generated. However, tagging every item in the store can be dauntingly expensive, and tagging consumers (usually via their personal smartphone) requires several authentication steps, development to ensure hardware compatibility, and sensors that can accurately track the plethora of mobile devices on the market.

A closed radio system, where the tracked RF tag is owned and controlled by the same entity as the in-store sensors, would produce more reliable and cost-effective tracking data. The problem in having an entirely closed ecosystem for tracking; however, is associating the tracking data with a consumer. In a closed ecosystem where a shopping cart is tracked via an attached RF tag, an RF tracking system may see that the tagged shopping cart entered the store, travelled down aisles three, seven, and twelve, before passing through the checkout area and out of the store. This cart tracking data however does not show who was moving the shopping cart. To mimic the ability to capture customer behavior found online, in-store trackers need to track particular consumers, over multiple visits. Tracking specific consumer movement data aids in learning what store designs improve or inhibit the shopping habits of certain types of consumers. To meaningfully use consumer data, the movement of a consumer needs to be associated with that consumer, across multiple visits.

SUMMARY

Hence, there is still a need for further improvement in technologies for associating a tracked asset tag in a space, and the corresponding movement data, with a user. Associating movement data with a user entails associating an electronic device with a user, and then associating that electronic device with an asset tag and its relevant movement history.

In an example, a system comprises one or more radio frequency-enabled nodes located within a space, each radio frequency-enabled nodes being configured to communicate with a radio frequency (RF)-enabled asset tag within the space. The RF-enabled asset tag is coupled to an asset movable within the space. A radio frequency-enabled asset tag location estimation system is configured to track location of the RF-enabled asset tag within the space and determine location estimates of the RF-enabled asset tag as the RF-enabled asset tag moves within the space responsive to communications between the one or more radio frequency-enabled nodes and the RF-enabled asset tag. An electronic hardware device is configured to accept identifying information from or about a selected user. A back end server is coupled to the radio frequency-enabled asset tag location estimation system. The back end server configured to receive asset tag location information from the asset tag location estimation system corresponding to the location estimates of the RF-enabled asset tag as the RF-enabled asset tag moves within the space. Additionally, the back end server is configured to determine, based on a predetermined correspondence criteria, a correspondence between the RF-enabled asset tag location and location of the electronic hardware device within the space. Further, in response to determining the correspondence between the RF-enabled asset tag and the electronic hardware device and based at least in part on the identifying information accepted via the electronic hardware device, the back end server is configured to associate the received asset tag location information corresponding to the location estimates of the RF-enabled asset tag as the RF-enabled asset tag moved within the space to identification of the selected user in a database.

In another example, a method comprises communicating with a radio frequency (RF)-enabled asset tag within a space, tracking a location of the RF-enabled asset tag within the space, determining location estimates of the RF-enabled asset tag as the RF-enabled asset tag moves within the space, and accepting identifying information from or about a selected user. The method additionally comprises determining, based on a predetermined correspondence criteria, a correspondence between the RF-enabled asset tag location and location of an electronic hardware device within the space. Further, in response to determining the correspondence between the RF-enabled asset tag and the electronic hardware device and based at least in part on the identifying information accepted via the electronic hardware device, the method includes associating the received asset tag location information corresponding to the location estimates of the RF-enabled asset tag as the RF-enabled asset tag moved within the space to identification of the selected user.

DETAILED DESCRIPTION OF THE DRAWINGS

In the examples, herein, the light fixture nodes are just one example of a radio frequency (RF)-enabled node111with known location coordinates, which includes additional components; however, the locating of RF asset tags195can be applied to various other types of RF-enabled nodes111. Generally, the RF-enabled node111includes a minimum subset of components of the light fixture node shown inFIG.54such as the wireless transceiver circuitry450, memory442(including the depicted node programming445and data), CPU443, and power supply405. However, the RF-enabled node111does not have to include the light source420, driver circuit410, drive/sense circuitry, and detector(s) components. An RF asset tag195is an example of an RF identification tag that is a chip with a radio that emits a signal with a certain signal strength, small packets of information, and has an asset tag identifier. RF-enabled nodes111can be connected together via wired and/or wireless networks.

The examples in the drawings and described below relate to locating at least one or more RF asset tags195using a previously commissioned wireless RF asset tag location estimation system130. During commissioning, a virtual map of a physical installation of RF-enabled nodes111(e.g., light fixture nodes) within an indoor space of a room, building, etc. or an outdoor space (e.g., streetlights) is created.

Although the discussion herein is focused on light fixture type luminaires that have a fixed position in a space, it should be understood that other types of luminaires can be used/sensed in lieu of light fixtures, such as lamps, particularly if the lamps have a fixed position in the space. The term “luminaire” as used herein, is intended to encompass essentially any type of device, e.g., a light fixture or a lamp, that processes energy to generate or supply artificial light, for example, for general illumination of a space intended for use of or occupancy or observation, typically by a living organism that can take advantage of or be affected in some desired manner by the light emitted from the device. However, a luminaire may provide light for use by automated equipment, such as sensors/monitors, robots, etc. that may occupy or observe the illuminated space, instead of or in addition to light provided for an organism. However, it is also possible that one or more luminaries in or on a particular premises have other lighting purposes, such as signage for an entrance or to indicate an exit. In most examples, the luminaire(s) illuminate a space of a premises to a level useful for a human in or passing through the space, e.g. general illumination of a room or corridor in a building or of an outdoor space such as a street, sidewalk, parking lot or performance venue. The actual source of illumination light in or supplying the light for a luminaire may be any type of artificial light emitting device, several examples of which are included in the discussions below.

The “luminaire” can include other elements such as electronics and/or support structure, to operate and/or install the particular luminaire implementation. Such electronics hardware, for example, may include some or all of the appropriate driver(s) for the illumination light source, any associated control processor or alternative higher level control circuitry, and/or data communication interface(s). As noted, the lighting component(s) are located into an integral unit, such as a light fixture or lamp implementation of the luminaire. The electronics for driving and/or controlling the lighting component(s) may be incorporated within the luminaire or located separately and coupled by appropriate means to the light source component(s).

The term “RF asset tag location estimation system” or “lighting system,” as used herein, is intended to encompass essentially any type of system that either includes a number of such luminaires coupled together for data communication and/or luminaire(s) coupled together for data communication with one or more control devices, such as wall switches, control panels, remote controls, central lighting or building control systems, servers, etc.

The illumination light output of a luminaire, for example, may have an intensity and/or other characteristic(s) that satisfy an industry acceptable performance standard for a general lighting application. The performance standard may vary for different uses or applications of the illuminated space, for example, as between residential, office, manufacturing, warehouse, or retail spaces. Any luminaire, however, may be controlled in response to commands received with the network technology of the lighting system, e.g. to turn the source ON/OFF, to dim the light intensity of the output, to adjust or tune color of the light output (for a luminaire having a variable color source), etc.

Terms such as “artificial lighting,” as used herein, are intended to encompass essentially any type of lighting in which a luminaire produces light by processing of electrical power to generate the light. A luminaire for artificial lighting, for example, may take the form of a lamp, light fixture, or other luminaire that incorporates a light source, where the light source by itself contains no intelligence or communication capability, such as one or more LEDs or the like, or a lamp (e.g. “regular light bulbs”) of any suitable type.

Illumination light output from the light source of the luminaire may carry information, such as a code (e.g. to identify the luminaire or its location) or downstream transmission of communication signaling and/or user data. The light based data transmission may involve modulation or otherwise adjusting parameters (e.g. intensity, color characteristic or distribution) of the illumination light output of the light source of the light source of the luminaire.

Terms such as “lighting device” or “lighting apparatus,” as used herein, are intended to encompass essentially any combination of an example of a luminaire discussed herein with other elements such as electronics and/or support structure, to operate and/or install the particular luminaire implementation. Such electronics hardware, for example, may include some or all of the appropriate driver(s) for the illumination light source, any associated control processor or alternative higher level control circuitry, and/or data communication interface(s). The electronics for driving and/or controlling the lighting component(s) may be incorporated within the luminaire or located separately and coupled by appropriate means to the light source component(s).

The RF-enabled nodes may be nodes for wireless communication only. In many deployments, however, at least some of the RF-enabled nodes have additional hardware for other purposes. For example, some nodes may include sensors, some nodes may include components to monitor or control equipment (e.g. equipment of a heating, ventilation and air conditioning system, access control system, surveillance and alarm system, or the like). For illustration and discussion purposes, some or all of the RF-enabled nodes in the specific examples have additional hardware for lighting related purposes. Most such nodes may take the form of light fixtures or other types of luminaires that include light sources and associated driver circuitry, although some lighting system type nodes may include lighting related sensors (e.g. occupancy sensors and/or ambient light sensors), whereas other lighting system type nodes may include user interface hardware (e.g. to serve as wall-switches or wall controllers for user control of the luminaire nodes).

Software broadly encompasses executable program instructions and associated data if any that a programmable processor-based device utilizes to implement functions defined by the software. Various combinations of programming instructions and associated data fall under the broad scope of software. Firmware is a category of software. Although firmware may provide an operating environment for complex higher layer application programs; for a lower processing capacity device, such as a wireless enabled node for a controlled system (e.g. fixture or other device in a lighting system), the firmware provides all the programming for the data processing and operational control of device hardware to implement the wireless communications and any other functions of the particular device.

The space where the system is operating, can include a variety of manmade structures or natural spaces modified by direct or indirect human efforts. The space conventionally may be a retail space, but it could also be, for example, an office space, a warehouse, or a hangar. It could also be an outdoor space with node installations, such as a parking lot, or a roadway. The space could also be a mixed use area, such as a transportation hub with both indoor and outdoor radio frequency-enabled nodes, or an airport. A building space is a space that is partially or completely occupied by a structure.

The term “lighting system element” can include other elements such as electronics and/or support structure, to operate and/or install the particular node implementation. Such electronics hardware, for example, may include some or all of the appropriate driver(s) for any coupled illumination light source, any associated control processor or alternative higher level control circuitry, and/or data communication interface(s). As noted, the lighting component(s) are located into an integral unit, such as a light fixture or lamp implementation of the detector. The electronics for driving and/or controlling the lighting component(s) may be incorporated within the detector node or located separately and coupled by appropriate means to the light source component(s).

The term “coupled” as used herein refers to any logical, optical, physical or electrical connection, link or the like by which signals or light produced or supplied by one system element are imparted to another coupled element. Unless described otherwise, coupled elements or devices are not necessarily directly connected to one another and may be separated by intermediate components, elements or communication media that may modify, manipulate or carry the light or signals.

Light output from the fixture or other type of luminaire may carry information, such as a code (e.g. to identify the luminaire or its location) or downstream transmission of communication signaling and/or user data. The light based data transmission may involve modulating or otherwise adjusting parameters (e.g. intensity, color characteristic or distribution) of the illumination light output from the device.

The term “node” may refer to an RF-enabled communication device that may provide communication services, e.g. for identification services, building control system management services and the like. A node may be a connection point in a network that can receive, create, store and/or send data via communication links within the network. Each node is configurable to transmit, receive, recognize, process and originate and/or forward transmissions to other nodes, other devices operating as an access point to a network, or outside the network. The communication services provided by a node may enable networked and non-networked devices, such as asset tags, to send data to a node and receive data from the node. Each node may also be referred to as a “beacon.”

A “location estimation” system is a system that provides position estimation services and in some cases additional position or location based services over any relatively limited area. The area so served may be partly or entirely confined within a building, ship, mine, or other enclosed structure, but is not necessarily so confined. Hence, a “location estimation system” may operate partly or wholly in unenclosed spaces, e.g., over a campus, pedestrian mall, fairground, or the like, where such a service area may also include the interiors of one or more enclosures. Moreover, the spaces or areas served by a single system may not all be contiguous (e.g., the system may distinguish between a number of spaces at somewhat separate locations and support navigation between as well as within those spaces).

An “asset tag location estimation” system is a system configured to provide location estimation services that discover and utilize information about asset tag locations in flat “areas” over which a two-dimensional coordinate system is appropriate (e.g., the floor space of a store or warehouse), the technologies discussed below are also applicable to systems discovering and utilizing information about asset tag locations in three-dimensional spaces. Collection of location estimates for a tag associated with a particular asset over time may allow the system to track the position of the asset within the areas, for example, if the asset is moved within an area.

Although described as two systems, some or all of the components of the identification system and the asset tag location estimation system may be used in common to provide similar functions for both asset tracking and position estimations relative to a user's mobile device, in the context of an overall estimation system for RF asset tag location and mobile device position estimations.

In the following examples, an “asset tag” may be a movable RF-enabled device, associated with a specific object, capable of (1) receiving radio signals from network nodes, and (2) broadcasting information to the node network for relay to a back end server. A tag may also have additional capabilities as may be described with reference to the following examples.

Reference now is made in detail to the examples illustrated in the accompanying drawings and discussed below.FIG.1is a functional block diagram of an example of a system100for coordinating information from tracking of an asset tag and information from estimating positions of a user device194(e.g., mobile device) over time. The system100includes a consolidated system110, an RF asset tag195, a selected user193, and may include the user ID device194. The consolidated system110, also referred to as an RF asset tag location estimation and identification system, includes an identification system120, a radio frequency (RF)-enabled asset tag location estimation system130, and one or more back end servers140that implement a back end server programming146.

The RF asset tag location estimation system130may be configured to track a location of a radio frequency (RF)-enabled asset tag195, such as within a space101. The RF-enabled asset tag195may be coupled to an asset196within the space. This example of an RF asset tag location estimation system130includes one or more radio frequency-enabled nodes111. These radio frequency-enabled nodes111each include a processor138and an RF transmitter (TX)/receiver (RX)137. Details of the radio frequency-enabled nodes111and communications with the asset tag195are explained with reference to other examples.

The identification system120may be configured to determine a location of the user device (e.g., mobile device)194within the space101, for example, by tracking the mobile device194the user193is carrying. Alternatively, the location of the user193may be determined using a camera based system or a radar based system. Additionally, the position of the user identification interface125, such as point-of-sale (POS) terminal, may be known, and the system may associate the user193with the location of the user identification interface125when the user193interacts with the user identification interface125. The identification system120is an RF-based communication system configured to exchange RF signals with the user device194and determine the location of the user device194based on the exchanged RF signals. Alternatively or additionally, the identification system120includes a user identification interface125, such as a POS terminal, that is configured to take identifying information from the user193, thereby determining the location of the user by knowing the location of the user identification interface125. Details of the identification system user identification interface125and communications with the user device194are explained with reference to other examples.

In some examples, particularly where the user is identified by their mobile device194, the RF transmitter (TX)/receiver (RX) of the identification system120can be used by the location estimation system130. In such an example, it is possible for all of the analogous components (RF TX/RXs127,137; processors128,138; communication interfaces129;139) to be co-located, and one set of components can serve the purposes of both the identification system120as well as the location estimation system130.

The back end server(s)140implementing back end server programming146may be coupled via a nodal wireless network170and respective communication interfaces139and129to the RF-enabled nodes111xand the user identification interface125. Nodal wireless network170between the asset tag195, RF-enabled nodes111x, user device194, electronic hardware device112may include a wireless network, such as Bluetooth, Zigbee, etc. In some examples, however, the nodal wireless network170to the back end server140, e.g., for communication with the electronic hardware device112may be a wired or wireless local area network (LAN) or a wired wide area network (WAN). The back end server programming146may be configured to receive asset tag195location information from the RF asset tag location estimation system130corresponding to an RF-enabled asset tag195within the space via the communication interface139and nodal wireless network170.

While the identification system120and the asset tag location estimation system130are at times described separately, the identification system120and the asset tag location estimation system130may cooperate to function together as part of the consolidated system110, such a cooperative system may also be referred to as a radio frequency (RF) asset tag location and selected user identification system. As part of the consolidated system110, the respective systems120and130may share hardware and/or software resources as described with reference to the following examples.

Other details of the respective elements ofFIG.1may be described in more detail with respect to other examples. For example, the example RF asset tag195ofFIG.1may be described in more detail with reference to the asset tag example ofFIG.2.

FIG.2is a functional block diagram of an example of an asset tag195usable with the examples described herein. Depending upon whether the asset tag195is an active tag or a passive tag, the asset tag195may have different types of components related to how the asset tag195is powered. For example, in the case in which the asset tag195is an active tag, the power source288may be a dedicated source of power, such as a battery, a solar cell, or the like. Conversely, if the asset tag195is a passive tag, the asset tag will obtain and/or convert energy from sources not dedicated to providing power the asset tag195for use to perform functions. For example, the passive tag may use the energy of a received signal to provide power via circuitry, such as rectifier circuit210, to generate power either for immediately powering the logic circuitry240or for later use by storing the energy using capacitors or the like.

Radio frequency signal transmissions from one or more nodes as described in the following examples may be received by one or more tags195. When configured as a passive tag, asset tag195includes an antenna260, rectifier circuit210(e.g., a capacitor, diodes or the like)210, reader circuit220, an information processing circuitry280, and a modulation circuit230.

The asset tag antenna260is capable of both receiving radio frequency (RF) signals and of transmitting radio frequency signals. For example, the RF signals transmitted and received by the tag204may be radio-frequency identification (RFID), Bluetooth, Zigbee, or the like, that may be processed according to the appropriate communication protocols. While reference is made in the examples to RFID components and signals, the RF signals transmitted, received and processed in the examples are not intended to limited to RFID components and signals. When the asset tag antenna260receives RF signals some of the energy in the RF signals is converted by the rectifier circuit210into direct current (DC) power. In the case of a passive tag configuration to tag195, if the received signal has sufficient signal strength, the converted DC power is sufficient to supply power to the other components of the tag195.

For example, with sufficient DC power, the information processing circuitry280may be powered for some interval. The received signal is also input to the reader circuit220which may be configured to process the input signal and output data representative of the incoming message. The information processing circuitry280may include logic circuitry (or simply “logic”)240and a memory250. The memory250may store an asset tag ID251, identifying the asset tag195to external electronic components, and other information related to the tag195. The logic240of information processing circuitry280may be configured to perform functions that include the processing of signals received through the antenna260utilizing the logic circuitry240and transmitting information (e.g., a unique identifier of the node that transmitted the received signal) through the antenna260.

The information processing circuitry280may be configured to measure a received signal strength (RSS) of a signal transmitted by a node. The measured RSS may have, or may be converted into, an RSS indicator (RSSI) value as will be described in more detail with reference to other examples. The RSS measurement capabilities of the logic240may be available to a passive tag implementation as well as an active tag implementation.

If more processing capabilities are needed, the tag195may be configured to receive DC power from a DC power source288in which case the tag195operates as an active tag. When implemented as an active tag, the tag195may include antenna260, DC power source288, reader circuit220, information processing circuitry280, and modulation circuitry230. The active asset tag195receives sufficient power form the DC power source288to enable operation of the reader circuit220, the modulation circuitry230, the logic240and the memory250.

The asset tag195is coupled to an asset196, which may be any asset being tracked by an RFID system (not shown in this example), and a customer or a user may be any person being tracked by the PS (e.g. could be an associate). Generally, the asset tracked in this example is property owned by the space's owner that is not for sale to the conventional consumer: for example, a cart, basket, or dolly.

Therefore asset tag195is some form of device capable of RF communication with the RF-enabled nodes111—either actively by broadcasting in a manner that the RF-enabled nodes111can receive via the local wireless network communication interface113, or passively by receiving transmissions from the RF-enabled nodes111. In the example ofFIG.2, RF-enabled nodes111communicate with the asset tag195and the back-end server140to determine a physical location of the asset tag195in the space101. Generally, the RF asset tag location estimation system130determines an initial position in the space105of the asset tag195based on one or more received signal strength indicator (RSSI) data communication measurements (e.g., Bluetooth™ or WiFi) to at least one RF-enabled node.

In this example, the initial position of the asset tag195is based on one or more RSSI data communication measurements to two RF-enabled nodes111. The farther the asset tag195is from the RF-enabled nodes111, the lower the respective RSSI data measurement becomes. The set of location coordinates of the RF-enabled nodes111are all known, and therefore the RSSI measurements are triangulated and/or trilaterated to calculate the physical location of the RF asset tag195within the space101when three or more RF-enabled nodes are able to collect RSSI data measurements. However, trilateralization with RF-enabled nodes111to calculate that the physical position of the asset tag195is between two ambiguous points is still valuable for the purposes of locating that asset tag195. Furthermore, even a case where only a single RF-enabled node111is able to collect RSSI data measurements of a given RF asset tag195is still valuable, as it confirms that the RF asset tag195is within a given radius.

This is one is just one possible use of a set of RF-enabled nodes111. The RF-enabled nodes111could be streetlights in an outdoor space, which are dimmed on or off. In some examples, the RF-enabled nodes111are BLE wireless beacons or other wireless RF devices. For example, this asset tag-tracking technique could be used with wireless beacons that are not light fixture nodes, but rather more general RF positioning nodes. As another alternative, the asset tag-tracking technique can be used with RF-enabled nodes111, but not in a positioning system, and instead where the physical location coordinates127A-W of the RF-enabled nodes111is needed to set up zones for dimming of a lighting system.

FIG.3is an overhead diagram of the path of a tagged asset196through a space101. The space in this example is depicted as a supermarket, however any kind of space that can be traversed by the asset could be a valid example. The tagged asset196has an asset tag195, and is a shopping cart in this example. At point307in the diagram, the asset is stored and is not in use. A user193enters the space through the entry door340, and takes control of the shopping cart at point307. The user then proceed to walk along path311to point301, potentially examining the goods on sale in the supermarket. During this, the asset tag location estimation system130is tracking the position of the asset tag195, and recording the tag's195position on a date and over time, within the space101. The asset tag location estimation system130does this by capturing a plurality of asset tag location estimates361-366, which correspond to the asset tag identifier (ID)251of the asset tag195. Each asset tag location estimate361-366includes a respective two-dimensional location coordinate367A-F of a respective point301-306, as well as a respective date/time coordinate369A-F, which can include a date and a time component, of the date and time at which the respective location coordinate367A-F is captured, in this example near noon. In other examples the location coordinates367A-F may include three-dimensional coordinates.

The user193moves with the shopping cart, and consequently the asset tag195, through a sequence of points, including: point301to point302, point303, point304, point305, point306, etc. At each of the points301-306, respective asset tag location estimates361-366are captured, which include the respective location coordinates367A-F at points301-306of capture, as well as the respective date/time coordinates369A-F at which the respective location coordinate367A-F is captured and the asset tag identifier251of the asset tag195. The user193may spend more time at some points301-306than others, hence a respective time duration368A-F can be determined by comparing the date/time coordinate369B of one location estimate362to the prior date/time coordinate361A of the prior location estimate361: this information can be valuable to determine user's193focus within the space101(e.g., store), and can lead to improvements in where products are located, and in what products are stocked. Finally, the user193proceeds with their cart and asset tag195down path316(e.g., trajectory) to point306, which is the point of sale terminal320. This point of sale terminal320acts as a user identification interface.

Until now, the consolidated system110has only collected path information: the consolidated system110has to associate that information with a specific user193or their account. In this example, when the user193performs the checkout process, they are asked to identify themselves: for instance, by presenting a membership card or ID, or by using a credit card already associated with a specific consumer account. At or near the time the user193makes the association, perhaps by entering their user ID number into the point of sale terminal320, the consolidated system locates the asset tag195in closest reasonable proximity to the terminal320. Asset tag195has a location estimate366near the terminal320. Because the user193is near the terminal320, and the terminal320is near the asset tag195, it is likely that the user193has been travelling with the asset tag195during their trip through the space101. Therefore, with this association, the consolidated system110can now associate the user193with the travel path311-316made through the store by the asset tag195.

On repeat trips, or on trips to other spaces with similar systems, the owner of the space can compare multiple store visits by the same user193and determine if, for example, changing the ordering of their shelves improves shopping speed. When the travel path311-316is combined with the sale data, stores can additionally see whether placing certain goods in certain places increases or decreases sales of particular goods. The travel path311-316can also be converted into a graph to aid in visualizing consumer travel through the space.

Once the user193has completed their transaction, the user193can continue to be tracked via the associated asset tag195until they leave the space101, in this case via the exit door330. The asset tag195is not prevented from leaving the space in this example, although once out of range of the radio frequency-enabled nodes111it can no longer report positional data to the consolidated system110.

The asset tag195may signal its position to the radio frequency-enabled nodes111of the consolidated system110, or it may track its195own position via RF signal sent by the radio frequency-enabled nodes111, and report back to the consolidated system110the movements of the asset tag195.

In other example, the selected user193has a personal user device194, such as a smartphone. The user device194can also be tracked by the consolidated system110, and as the selected user193moves through the space101(e.g. the store), position estimates371-376are captured, which include a respective user device identifier377A-F, a respective location coordinates378A-F, and a respective date/time coordinate379A-F. Location coordinates378A-F of the position estimates371-376and the location coordinates367A-F of the location estimates361-366have very similar associated points301-306. Date/time coordinates379A-F of position estimates371-386and the date/time coordinates of location estimates361-366are also similar as a result of being taken from the asset tag195and the user device194that were in close proximity as the selected user193moved through the space101(e.g., store). If the selected user193came back hours later and walked the same route, additional position estimates381-386of the user device194would also be captured for the selected user193: with similar location coordinates378xcorresponding to points301-306as coordinates, but at a different respective date/time coordinate379x.

The back end server140may determine via an asset tag location estimation programming144locations of the RF-enabled asset tag195within the space based on the location information provided by the RF asset tag location estimation system130. The asset tag location information includes the location estimates361-366, which include both the location coordinates378A-F of the points301-306of the RF-enabled asset tag195, as well as the date/time coordinate379A-F those location coordinates378A-F were captured. The back end server140may determine via the identification system programming142position estimates371-376of the user device194within the space101based on the location information provided by the identification system120. The user device194location information would be some or all of the position estimates371-376: the more often the user device194and the RF-enabled asset tag195were near the same place at the same time increases the probability that the two correspond. In some examples, more weight might be given to the position estimate376near the point of sale terminal320.

In examples where the user device194is not tracked, then when the selected user193interacts with the point of sale terminal320near location estimate366, it is presumed the selected user193is at point306, and so location estimate366has the only location coordinate367F, and date/time coordinate369F of the selected user193to correlate the asset tag195to the selected user193. The back end server programming146may store in the database147the mobile device194location information in the form of position estimates371-376provided by identification system120, the asset tag location information in the form of location estimates361-366provided by RF asset tag location estimation system130, and the location estimate366captured when the user193interacted with the user identification interface125.

This system can also apply to a setting where the space101is a warehouse, with similar improvements. Instead of a point of sale system320, the user identification system could be a terminal near a truck loading bay: in that example, a user193moves through the space101with a dolly equipped with an asset tag195, collecting goods for delivery to a departing truck. The user193identifies themselves in a similar manner as the customer in the supermarket example, and the owner of the system100now has data related to how quickly the space101can be traversed, or whether the items required by the user193are stored along an efficient path311-316. In another example, the user193is not identified by their input to an identification terminal125, but rather by their smart device194.

The user193enters the space101(e.g. the store) and takes all of the same physical actions up until interacting with the identification terminal320. However, the user193has a smart device194which has been authenticated with the identification system120. This authentication may have been performed when the user193installed an application, or visited a website on their smart device194. In this example, as the user moves from point301to302, along path312, the smart device194has had its position tracked by the identification system120. The consolidated system110takes this path312tracked of the smart device194, recorded as the difference between position estimate375and position estimate376, and the path312tracked of the asset tag195, recorded as the difference between location estimate365and location estimate366. The consolidated system110compares these paths, and if it finds them substantially similar, it concludes that there is an association between the smart device194and the asset tag195along path312. If the user193is associated with the smart device194, and the smart device194is associated with the asset tag195, and the asset tag195is associated with the shopping cart, then the user193is associated with the shopping cart. In this manner, the consolidated system110is able to draw a similar conclusion as it did in the example where the user193and the asset tag195are associated at the point of sale terminal320.

The example involving the smart device194can involve using any number of path segments311-316. Furthermore, this example is capable of disassociating a user193from a given asset tag195if the two tags stray too far apart for too long, if the user193leaves the space101without the asset tag195, if the asset tag is returned to storage at point307, or if the user193begins moving with a different asset tag, leaving the original asset tag195behind.

Therefore,FIG.3depicts a system100, comprising one or more radio frequency-enabled nodes111located within a space101. Each radio frequency-enabled node111communicates with a radio frequency (RF)-enabled asset tag195within the space101. The RF-enabled asset tag195is coupled to an asset196movable within the space101. The system further comprises a radio frequency-enabled asset tag location estimation system130that tracks the location of the RF-enabled asset tag195within the space101and determines location estimates361-366of the RF-enabled asset tag195as the RF-enabled asset tag195moves within the space101responsive to communications between the one or more radio frequency-enabled nodes111and the RF-enabled asset tag195. The asset tag location estimation system130estimates the location of the RF-enabled asset tag195by using the radio frequency-enabled nodes111to continuously contact the RF-enabled asset tag195. Alternatively, the asset tag location estimation system130estimates the location of the RF-enabled asset tag195by having the RF-enabled asset tag record195which radio frequency-enabled nodes111the RF-enabled asset tag195is able to communicate with.

The system100additionally comprises an electronic hardware device112(e.g. point of sale terminal320) which accepts identifying information from or about a selected user193. The electronic hardware device112is an installed stationary computing device, and the identification system120determines the location of the electronic hardware device112in the space at the time of installation. The identifying information can include a variety of identifiers, such as a customer number, a phone number, or a username. The identifying information can include unique values such as a randomly assigned loyalty account number, a non-unique value such as a birthdate, or a combination of inputs including one or more identifiers. The electronic hardware device112can accept the identifying input a multitude of ways: the selected user193can enter a customer number by using a keypad connected to the electronic hardware device112, or scan a barcode on a loyalty card which encodes the loyalty account number, or use a thumbprint or iris scanner to enter biometric data into the electronic hardware device112. Another person, such as an employee, technician, or a companion of the selected user193may act as an intermediary, and enter the selected user's193identifying information into the electronic hardware device112.

In an alternative example, the electronic hardware device is a handheld computing device194, such as a mobile device. In this example, the radio frequency-enabled asset tag location estimation system130exchanges RF signals with the handheld computing device194and determines the location or point306by examining the corresponding location estimate366of the handheld computing device194, based on the exchanged RF signals.

The system100also comprises a back end server140coupled to the radio frequency-enabled asset tag location estimation system130. The back end server140receives asset tag location information from the asset tag location estimation system130corresponding to the location estimates361-366of the RF-enabled asset tag195as the RF-enabled asset tag195moves within the space101. The back end server140additionally determines, based on a predetermined correspondence criteria, a correspondence between the RF-enabled asset tag195location estimate366and location or point306of the electronic hardware device112,194within the space. In response to determining the correspondence between the RF-enabled asset tag195and the electronic hardware device112,194and based at least in part on the identifying information accepted via the electronic hardware device112,194, the back end server140further associates the received asset tag195location information corresponding to the location estimates361-366of the RF-enabled asset tag195as the RF-enabled asset tag195moved within the space101to identification of the selected user193in a database147.

The identification of the selected user193may be performed by a remote back end server, potentially operated outside of the lighting system100. In such an example, the back end server140sends the identifying information of the selected user193to the remote back end server, and receives a token that can be associated with the selected user193. In these examples, the back end server140is not required to maintain full and complete records on the selected user193, such as demographic and historical data, and only needs to maintain an association between the token of the selected user193and the location estimates361-366of the RF-enabled asset tag195as the RF-enabled asset tag195moved within the space101to identification of the selected user193. The back end server140can also receive a one-time token for the selected user193, thereby limiting the ability to track the selected user over multiple visits by solely viewing the data within the back end server140: the remote server in this example would be required to associate multiple one-time tokens with a single selected user193.

When the back end server140determines the correspondence between the RF-enabled asset tag195location estimates361-366and location306of the electronic hardware device112,194within the space101, the back end server140indicates that the RF-enabled asset tag195and the electronic hardware device112,194are located within a critical distance of one another, at least approximately when the electronic hardware device112,194accepts the identifying information from or about the selected user193. The back end server140additionally associates the asset196to the selected user193in the database147. The back end server140further generates a graph311-317of the asset tag195position within the space101over time, based on the location estimates301-306of the asset tag195received from the asset tag location estimation system130.

In some examples, the selected user193may start using a first asset-tagged object, and the consolidated system110records a first set of location estimates361-363for that first asset-tagged object. However, the selected user may switch their asset-tagged object for another, and the consolidated system110then records a second set of location estimates364-366, corresponding to the second asset-tagged object. If the consolidated system is able to correlated the first set of location estimates361-363and the second set of location estimates364-366to the same selected user193, the back end server140further combines the asset tag195location estimates361-366from the asset tag location estimation system130corresponding to the locations estimates361-366of multiple RF-enabled asset tags195to create combined asset tag location information.

If the electronic hardware device112,194is a mobile device194, the back end server140associates the selected user193to the mobile device194, and the back end server140associates the asset196to the selected user193in the database147. If the electronic hardware device112,194is a handheld computing device194, the space101further comprises a threshold330, defined as a two-dimensional plane extending vertically between four points within the space101. In this alternative example, the back end server140performs the determination of a correspondence between the RF-enabled asset tag195location estimate366and the position estimate376of the electronic hardware device194when the RF-enabled asset tag195passes through the threshold330. The back end server140additionally confirms based on the predetermined correspondence criteria, the correspondence between the RF-enabled asset tag195location estimate366and the position estimate376of the electronic hardware device112,194within the space101. Confirmation of the correspondence indicates that the RF-enabled asset tag195and the electronic hardware device112,194remain located within a critical distance of one another.

Further, the back end server140determines, based on the predetermined correspondence criteria, a lack of correspondence between the RF-enabled asset tag195location estimate363and the position estimate386of the electronic hardware device194within the space101. This might occur if the selected user193parts from the tagged asset196, or leaves the store and returns later: the position estimates381-386in this example lack correspondence to the location estimates361-366because the location time341-346of the position estimates381-386do not align with the location times331-336of the location estimates361-366, even if the points301-306are the same. In other examples, the position estimates381-386may not match the location estimates361-366due to having different points301-306recorded, or because of a combination of mismatches in both asset tag location time331-336to electronic hardware device194location time341-346, and mismatches in asset tag points301-303and electronic hardware device194points304-306. Determination of the lack of correspondence indicates that the RF-enabled asset tag195and the electronic hardware device194are located beyond a critical distance of one another.

In response to the back end server140determining the lack of correspondence between the RF-enabled asset tag195location estimate363and the position estimate386of the electronic hardware194device within the space101, the back end server140disassociates the received asset tag195location information including the location estimates361-366of the RF-enabled asset tag195as the RF-enabled asset tag195moved within the space101to identification of the selected user193in the database147.

When the asset tag location estimation system130estimates the location of the RF-enabled asset tag195by having the RF-enabled asset tag195record which radio frequency-enabled nodes111the RF-enabled asset tag195is able to communicate with, the RF-enabled asset tag195sends the records of which radio frequency-enabled nodes111the RF-enabled asset tag195is able to communicate, including the Node ID459, with to the back end server140via the electronic hardware device112,194. In this alternative example, the electronic hardware device is an installed stationary computing device112, or a handheld computing device194.

As shown inFIG.4, the radio430of the light fixture node type radio frequency-enabled node111includes a micro-control unit (MCU)440, and wireless transceiver circuitry450. As shown, MCU430is coupled to driver circuit410and controls the lighting operations of the light source420via the driver circuit410. Light source420includes electrical-to-optical transducers include various light emitters, although the emitted light may be in the visible spectrum or in other wavelength ranges. Suitable light generation sources include various conventional lamps, such as incandescent, fluorescent or halide lamps; one or more light emitting diodes (LEDs) of various types, such as planar LEDs, micro LEDs, micro organic LEDs, LEDs on gallium nitride (GaN) substrates, micro nanowire or nanorod LEDs, photo pumped quantum dot (QD) LEDs, micro plasmonic LED, micro resonant-cavity (RC) LEDs, and micro photonic crystal LEDs; as well as other sources such as micro super luminescent Diodes (SLD) and micro laser diodes. Of course, these light generation technologies are given by way of non-limiting examples, and other light generation technologies may be used. For example, it should be understood that non-micro versions of the foregoing light generation sources can be used.

A lamp or “light bulb” is an example of a single light source. An LED light engine may use a single output for a single source but typically combines light from multiple LED type emitters within the single light engine. Light source420can include light emitting diodes (LEDs) that emit red, green, and blue (RGB) light or tunable white light. Many types of light sources provide an illumination light output that generally appears uniform to an observer, although there may be some color or intensity striations, e.g. along an edge of a combined light output. For purposes of the present examples, however, the appearance of the light source output may not be strictly uniform across the output area or aperture of the source. For example, although the source may use individual emitters or groups of individual emitters to produce the light generated by the overall source; depending on the arrangement of the emitters and any associated mixer or diffuser, the light output may be relatively uniform across the aperture or may appear pixelated to an observer viewing the output aperture. The individual emitters or groups of emitters may be separately controllable, for example to control intensity or color characteristics of the source output.

In the examples herein, the light fixture node type RF enabled nodes111include at least one or more components forming a light source420for generating the artificial illumination light for a general lighting application as well as wireless transceiver circuitry450. In several examples, such RF-enabled nodes111may take the form of a light fixture, such as a pendant or drop light or a downlight, or wall wash light or the like. For example, RF-enabled nodes include a pendant down light suspended/hanging from the ceiling, a 2×4 feet light fixture flush mounted on the ceiling, or sconces hung on the wall. Other fixture mounting arrangements are possible. For example, at least some implementations of the luminaire may be surface mounted on or recess mounted in a wall, ceiling or floor. Orientation of the RF-enabled nodes111and components thereof are shown in the drawings and described below by way of non-limiting examples only. The RF-enabled nodes111may take other forms, such as lamps (e.g. table or floor lamps or street lamps) or the like. Additional devices, such as fixed or controllable optical elements, may be included in the luminaire, e.g. to selectively distribute light from the illumination light source.

Each respective one of the RF-enabled nodes111further includes wireless transceiver circuitry450configured for wireless communication over a nodal wireless communication network170. In the example, the nodal wireless communication network170can be a wireless mesh network (e.g., ZigBee, DECT, NFC, etc.), a personal area network (e.g., Bluetooth™ or Z-Wave), a visual light communication (VLC) network, or Wi-Fi. A VLC network is a data communications variant which uses visible light between 400 and 800 THz (780-375 nm), and is a subset of optical wireless communications technologies.

It should also be understood that the communication protocols over the local wireless communication network106may be varied, and thus may be via nLight® (commercially available from Acuity Brands Lighting), digital multiplex (DMX) control, Fresco® control network (FCN) (commercially available from Acuity Brands Lighting). FCN, DMX control, nLight®, and Z-Wave are lighting-centric networks that control a variety of luminaires10A-T. In some examples, the RF asset tag location estimation system130can further include an optional secondary network (e.g., wired or wireless), such as a LAN or WAN network for communication between the various RF-enabled nodes111and the back end server140.

Although other radio technologies may be used, the example utilizes Bluetooth™ radios. Although other types of networking or protocols may be utilized, the example nodal wireless network170implements a “flooding” type wireless protocol. Other example network protocols include “star”, “bus”, “ring”, and “mesh” type wireless protocols.

Although the nodal wireless network170may use other networking technologies or protocols, the example nodal wireless communication network170is a flooding (e.g. non-routed) type nodal wireless network. In such an example, the nodal wireless network170implements a flooding type protocol so as to distribute a transmitted packet from any source on the network throughout the nodal wireless network170.

The MCU440includes a memory442(e.g. volatile RAM and non-volatile flash memory or the like) and a node processor in the form of a central processing unit (CPU)443.

CPU443, including like that shown for the logic circuit250inFIG.2, and processor552inFIG.5serve to perform various operations, for example, in accordance with instructions or programming executable by processors443,250,552. For example, such operations may include operations related to communications with various consolidated system110elements, such as RF-enabled nodes111. Although a processor443,250,552may be configured by use of hardwired logic, typical processors are general processing circuits configured by execution of programming. Processors443,250,552include elements structured and arranged to perform one or more processing functions, typically various data processing functions. Although discrete logic components could be used, the examples utilize components forming a programmable CPU. A processor443,250,552for example includes one or more integrated circuit (IC) chips incorporating the electronic elements to perform the functions of the CPU. The processors443,250,552for example, may be based on any known or available microprocessor architecture, such as a Reduced Instruction Set Computing (RISC) using an ARM architecture, as commonly used today in mobile devices and other portable electronic devices. Alternatively, the processors443,250,552for example, may be based on any known or available processor architecture, such as a Complex Instruction Set Computing (CISC) using an Intel architecture, as commonly used today in servers or personal computing devices. Of course, other processor circuitry may be used to form the CPU or processor hardware in other examples of RF positioning nodes108.

It should be noted that a digital signal processor (DSP) or field-programmable gate array (FPGA) could be suitable replacements for the processor443,250,552. Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code or process instructions and/or associated data that is stored on or embodied in a type of machine or processor readable medium (e.g., transitory or non-transitory), such as memory442, memory250ofFIG.2, main memory553ofFIG.5, or a memory of a computer used to download or otherwise install such programming into the RF-enabled nodes111, or a transportable storage device or a communications medium for carrying program for installation in elements of the consolidated system110.

The memory442stores node programming445for implanting the operations of the radio frequency-enabled node111, for lighting control operations, commissioning, maintenance, and diagnostic operations and for controlling communications and/or data processing related to functions of the lighting system100. The memory442further stores location estimation programming447for communicating with the asset tags204interfacing with the RF asset tag location estimation system130, and additionally stores identification programming449for interfacing with the user identification interface125or the user ID device194smartphone used by the identification system120for identifying the user.

The memory442also includes location estimates361-366that have not yet been sent to the back end server140. These location estimates361-366each include the date/time coordinate369A-F, which is the date and time a respective location coordinate367A-F is captured. Location coordinates367A-F are an approximation of the two-dimensional position of the asset tag195. Location estimates361-366further include and the asset tag identifier251of the asset tag195for which the location estimate361-366is captured. Additionally, the memory442includes a node identifier (ID)459of the radio frequency-enabled node111itself to identify the radio frequency-enabled node111to external electronic components, and other information related to the radio frequency-enabled node111. For example, as shown inFIG.5, the back end server140can map the unique node ID459to respective node coordinates561A-N of the node111. Additionally, the memory442includes position estimates371-376,381-386, which may not have yet been sent to the back end server140. These position estimates371-376,81-386are structurally similar to location estimates361-366, with respective location coordinates378A-F and date/time coordinates379A-F, but track d user device194and not asset tag195. As shown, position estimates371-376381-386include a respective user device identifier (ID)377A-F, which identifies the user ID device194for which the position estimate452is captured, rather than an asset tag ID251.

The radio frequency-enabled node111is able to implement the hardware and software of the location estimation system130, and the identification system120in examples where users193are identified via their device194. The radio frequency-enabled node111can communicate via the nodal wireless network170with the back end server140running the back end server programming146including the identification system programming142and the asset tag location estimation programming144.

Though this radio frequency-enabled node111is depicted as a light fixture node, the radio frequency-enabled node111is not limited to being a light fixture: any RF node that connects to a nodal wireless network170and has the hardware to the role of a member node of the identification system120or asset location estimation system130is a valid radio frequency-enabled node111.

FIG.5is a functional block diagram of a general-purpose computer system, by way of just one example of a hardware platform that may be configured to implement the back end server (wireless enabled computing device)140. The example wireless enabled computing device140will generally be described as an implementation of a server platform or host type computer, e.g. as might be configured as a blade device in a server farm or in network room of a particular premises. Alternatively, the computer system may comprise a mainframe or other type of back end server system capable of web-based communications, media content distribution, or the like via the network570and the on-premises nodal wireless network170.

The back end server140in the example includes a central processing unit (CPU)552formed of one or more processors, a main memory553, and an interconnect bus554. The circuitry forming the CPU552may include a single microprocessor, the circuitry forming the CPU552may include a number of microprocessors for configuring the computer system140as a multi-processor system, or the circuitry forming the CPU552may use a higher speed processing architecture. The main memory553in the example includes ROM, RAM and cache memory; although other memory devices may be added or substituted, including magnetic type devices (tape or disk) and optical disk devices that may be used to provide higher volume storage.

The back end server140runs a variety of applications programs and stores and processes various information in a database or the like for control of the light fixtures coupled to the Bluetooth Radio558, wall controllers (not shown) and any other elements of the consolidated system110and possibly elements of an overall building managements system (BMS) at the premises. The programming and stored information includes the identification system programming142and the tag controller programming144.

In operation, the main memory553stores instructions and data for execution by the CPU552, although instructions and data are moved between memory553and the CPU552via the interconnect bus554. For example, the main memory553is shown storing tag and identifier (ID) location files556, such as locations and paths of asset tags either associated or not associated with a selected user193. Although tag and ID location files556are utilized, a database or a variety of other storage techniques can be used. A portion or all of such a tag and ID location file556may be transferred from main memory553and processed by the CPU552to divide the tag location data into portions for transport as contents of a sequence of packets to be sent over the nodal wireless network170. The back end server140holds the tag and ID location files556generated by the identification system120and the RF asset tag location estimation system130. These tag and ID location files556include the location estimates361-366and position estimates371-376,381-386sent by radio frequency-enabled nodes111. The location estimates361-366and position estimates371-376,381-386in the back end server140include the same elements shown in the radio frequency-enabled nodes111as described inFIGS.3-4. The tag location files556additionally store the node coordinates561A-N, which include the coordinates of each unique radio frequency-enabled node111A-N in the system100, so that the back end server140is able to perform proper mapping and locating when processing location estimates451.

The main memory553stores the software programming510as needed for execution by the processor(s) forming the CPU552. When so executed, the programming510and thus the CPU552configure the wireless enabled computing device140to perform the functions of the back end server programming146, for relevant aspects of the asset tag location estimation, user identification, and user tag association described herein.

The CPU552and memory553may handle programs and files in a similar fashion for other functions of the consolidated system110, such as control of the light fixtures at radio frequency-enabled nodes111, operation of any wall controllers (not shown) and any other elements of the lighting system and possibly control of elements of an overall building managements system (BMS) at the premises.

The computer system of the back end server140also includes one or more input/output interfaces for communications, shown by way of example as a wireless transceiver658as well as one or more network interfaces659for data communications via the nodal wireless network170. Although other wireless transceiver arrangements may be used, the example back end server140utilizes a Bluetooth radio compatible with the particular iteration of Bluetooth protocol utilized on the nodal wireless network170. The Bluetooth transceiver558, for example, may be a Bluetooth radio of light fixture node111or a further type radio specifically adapted for integration and operation in a computing device like that used for the back end server140that also is compatible with the applicable Bluetooth protocol. Each interface559may be a high-speed modem, an Ethernet (optical, cable or wireless) card or any other appropriate data communications device. The physical communication link(s) to/from the interface559may be optical, wired, or wireless (e.g., via satellite or cellular network).

Although not shown, the computer platform configured as the back end server140may further include appropriate input/output ports for interconnection with a local display and a keyboard and mouse or with a touchscreen or the like, serving as a local user interface for configuration, programming or trouble-shooting purposes. Alternatively, system operations personnel may interact with the computer system of the back end server140for control and programming of the consolidated system110from a remote terminal device via the Internet or some other link via any network570.

The exampleFIG.5show a single instance of a back end server wireless enabled computing device140. Of course, the functions of the back end server140may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load. Additional networked systems (not shown) may be provided to distribute the processing and associated communications, e.g. for load balancing or failover.

The hardware elements, operating systems and programming languages of computer systems like that of the back end server wireless enabled computing device140generally are conventional in nature, and it is presumed that those skilled in the art are sufficiently familiar therewith to understand implementation of the present system and associated lighting control technique using suitable configuration and/or programming of such computer platform(s) based on the description above and the accompanying drawings.

FIG.6is an overhead diagram of the path of a tagged asset605through a space600. The space600in this example is depicted as a supermarket, however any kind of space600that can be traversed by the asset605could be a valid example. The tagged asset606has an asset tag607, and is a shopping cart606in this example. At the beginning of the path, the shopping cart606is stored and is not in use. A user193enters the space through the door, and takes control of the tagged shopping cart605. The user then proceed to walk along the dotted customer flow path608, potentially examining the goods on sale in the supermarket600. During this, the asset tag location estimation system130is tracking the position of the asset tag607, and recording the tag's607position over time within the space600. The user193moves with the shopping cart606, and consequently the asset tag607. The user193may spend more time at some points along the customer flow path608than others, which is recorded: this information can be valuable to determine user's193focus within the store, and can lead to improvements in where products are located, and in what products are stocked. Finally, the user193proceeds with their cart and asset tag195down path316to location estimate306, which is the checkout counter610. This checkout counter320acts as a user identification interface125.

Up to this point, the consolidated system110has only collected path information: the consolidated system110has to associate that information with a specific user193or their account. However, when the user193performs the checkout process, they are asked to identify themselves: for example, by presenting a membership card or ID at the loyalty card/phone number punch in612. At or near the time the user193identifies themselves, the consolidated system110locates the asset tag607in closest reasonable proximity to the checkout counter610. It does this via an asset tag reader611, which may be a conventional radio frequency-enabled node111, or may be a radio frequency-enabled node111modified to have a higher level of precision in identifying which asset tags607are likely being used at the checkout counter610. Because the user193is near the checkout counter610, and the checkout counter is near the asset tag607, it is likely that the user193has been travelling with the asset tag607and consequently the shopping card606during their trip through the shopping space600. Therefore, with this association, the consolidated system110can now associate the user193with the customer flow path608made through the store600by the asset tag607. On repeat trips, or on trips to other spaces with similar systems, the owner of the space can compare multiple store visits by the same user193and determine if, for example, changing the ordering of their shelves improves shopping speed. When the customer flow path608is combined with the sale data, stores can additionally see whether placing certain goods in certain places increases or decreases sales of particular goods.

Once the user193has been identified and associated with the customer flow path608taken by the shopping cart606, the routing and purchasing information can be analyzed in a tag analytics service620. This service620may be hosted on-site, or may be hosted off-site. The analytical data generated by the analytics service620allow for some of the improved customer business logic615discussed above: improving customer experience, and increasing sales. Additionally, this data can be leveraged to improve advertising and delivery615, as the system owner can see, for example, what goods and displays the user193walked by, and did not take interest in.

Therefore,FIG.6depicts a method comprising communicating with a radio frequency (RF)-enabled asset tag607within a space600. The method further comprises tracking the location of the RF-enabled asset tag607within the space600. This tracking occurs as the as the asset tag607attached to the shopping card606travels along the customer flow608. The location of the RF-enabled asset tag607is tracked by continuously contacting the RF-enabled asset tag with radio frequency-enabled nodes111, or alternatively the location of the RF-enabled asset tag607is tracked by recording the identity of any radio frequency-enabled nodes111the RF-enabled asset tag is able to communicate with.

The method additionally comprises accepting information from or about a selected user193. This acceptance occurs at the checkout counter610. The method additionally comprises determining, based on a predetermined correspondence criteria, a correspondence between the RF-enabled asset tag607location and the location of an electronic hardware device, such as the checkout counter610, within the space600. Determining the correspondence between the RF-enabled asset tag607location and the electronic hardware device610location indicates that the RF-enabled asset tag607and the electronic hardware device610are located within a critical distance of one another at least approximately when the electronic hardware device610accepts the identifying information from or about the selected user193. Determining the correspondence between the RF-enabled asset tag607location and the electronic hardware device610location is alternatively performed when the RF-enabled asset tag607passes through a threshold, such as an entrance or exit609.

Still further, the method comprises associating the received asset tag607location information corresponding to the location of the RF-enabled asset tag607as the RF-enabled asset tag607moved within the space to the identifying information from or about the selected user193, in response to determining the correspondence between the RF-enabled asset tag607and the electronic hardware device610and based at least in part on the identifying information accepted via the electronic hardware device610.

FIG.7is a flowchart of the user identification logic when the identification is performed at a terminal, such as a point of sale terminal125. There are two flows of logic, the checkout counter logic701and the business logic751. Operation705under the checkout counter logic701is what starts the entire flow: the user193has travelled the store, ideally with an asset-tagged cart196or basket, and is starting their checkout process. The user193is prompted by the point of sale terminal125in operation710to enter their phone number or scan their loyalty card, which the user193does. After this, the consolidated system110queries the asset tag ID251near the asset tag reader, and associates the transaction to that asset tag195for operation715. Then, it pushes all the information (the user phone number or loyalty card information, the transaction information, the asset tag ID251) to the back end server140in operation720. Then, from the perspective of the user193, checkout ends in operation725, and the user193leaves with their purchased goods.

However, after operation720the business logic flow751begins. Operation755starts creating a customer profile. This profile is populated with the path of the asset tag195associated with the pushed asset tag ID251from the operation720, in operation760. Next, operation765analyses the items in the associated transaction, and discerns user intent using the association between the path of the asset tag and the items that were actually purchased. This logic may also include factors such as where the items were placed in the store. With this information, the user's193intent, interests, pathing, and other on-site analytics are created and stored, and the customer profile is built in operation770. Finally, with the profile complete, the process ends in operation775.

FIG.8is a human-readable representation of an example of the data stored in the back end server140, otherwise represented as the tag and ID location files556. This is a page623of records taken over a period of time. First, each location estimate361-366,871-870(sixteen are shown) has a record number that identifies the individual record. Next, the system that identified the object is labeled682. Here, every location estimate361-366,861-870is identified by RFID, but other examples might use systems such as GPS or cellular signal to track and triangulate asset tag positions. Third, the identity of the cart, or asset tag identifier251A-D. Fourth, the date/time coordinate369xat which the respective location coordinates367xof the respective asset tag251A-D is captured. Fifth, the respective location coordinates367xof the respective asset tag251A-D from at the date/time coordinate369x, as X/Y coordinates. Finally, whether or not the record is associated with a selected user193x.

Some particular examples of note are records1and12: these records do not have a selected user686. This indicates that the cart is not associated with a user, and that the cart is not moving, is in a storage location, or is otherwise not collecting meaningful data. Records2,6,10, and14of cart “B” track a user “b” through the store: this is a user that has not been identified. Ideally, at some point in the future, this user will be identified either by using a point of sale terminal, or their smart device, and the selected user686can be updated for records2,6,10, and14to the ID of the appropriate user. This can be compared to records4and8of cart “D”: this cart has been associated with a user, possibly by the user's use of a point of sale terminal, and consequently the selected user686row has been updated with their selected user ID: “u10625”. Following this, as previously noted, at record12the selected user is blank for cart “D”, indicating it has been returned to the storage area, awaiting a new customer. By the time of record16, a new customer is moving cart “D”, and that anonymous user has been assigned the ID of “d”, which will ideally be updated with the user's identity at some point in the future.

These records allow charting a path of a user through the store, and allows determining the speed at which they are travelling, and where they are lingering. In this example records are collected once per minute per cart, but records can be collected either more or less frequently. The collection rate can also be dynamic, based on the time of day, or based on the X/Y coordinates of the cart.

FIG.9depicts a computer with user interface elements, as may be used to implement a portable device or other type of work station or terminal device, although the computer ofFIG.9may also act as a server if appropriately programmed. Hardware of a computer type user terminal device, such as a PC or tablet computer, may include a data communication interface, CPU, main memory and one or more mass storage devices for storing user data and the various executable programs (seeFIG.9). A mobile device (FIG.10) type user terminal may include similar elements, but will typically use smaller components that also require less power, to facilitate implementation in a portable form factor. Mobile device194ofFIG.1may be configured in a manner similar to that shown inFIG.10. It is believed that those skilled in the art are familiar with the structure, programming and general operation of such computer equipment and as a result the drawings should be self-explanatory. The various types of user terminal devices will also include various user input and output elements. A computer, for example, may include a keyboard and a cursor control/selection device such as a mouse, trackball, joystick or touchpad; and a display for visual outputs. A microphone and speaker enable audio input and output. Some smartphone type mobile devices include similar but smaller input and output elements. Tablets and other types of smartphone type mobile devices utilize touch sensitive display screens, instead of separate keyboard and cursor control elements. In the example (FIG.10), the mobile device may be configured to receive the asset tag location estimate for presentation of the estimated location to a user via a touch screen display of the mobile device. The hardware elements, operating systems and programming languages of such user terminal devices also are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith.

Any of the steps or functionality of the detection and aggregation protocols inFIGS.9-10described herein can be embodied in programming or one more applications as described previously. According to some examples, “function,” “functions,” “application,” “applications,” “instruction,” “instructions,” or “programming” are program(s) that execute functions defined in the programs. Various programming languages can be employed to create one or more of the applications, structured in a variety of manners, such as object-oriented programming languages (e.g., Objective-C, Java, or C++) or procedural programming languages (e.g., C or assembly language). In a specific example, a third party application (e.g., an application developed using the ANDROID™ or IOS™ software development kit (SDK) by an entity other than the vendor of the particular platform) may be mobile software running on a mobile operating system such as IOS™, ANDROID™, WINDOWS® Phone, or another mobile operating systems. In this example, the third party application can invoke API calls provided by the operating system to facilitate functionality described herein.

Hence, aspects of the methods receiving signals, processing the received signals and generating and processing data for tracking location of an asset tag and location data of a user's mobile device in a space outlined above may be embodied in programming. Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine readable medium. “Storage” type media include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the software programming and/or the relevant data. All or portions of the software and/or the relevant data may at times be communicated through the Internet, telecommunication networks, or various other data networks. Such communications, for example, may enable loading of the programming and the database from one computer or processor into another, for example, from a management server, back end server, or host computer of an enterprise location, or more generally, the location determination or estimation service provider into the computer platform and on-line to perform the relevant server functions in an actual working environment. Thus, another type of media that may bear the software elements and data includes optical, electrical and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software. As used herein, unless restricted to non-transitory, tangible “storage” media, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution.

A server type network connected computer platform, for example (FIG.5), includes a data communication interface for packet data communication. The server computer also includes a central processing unit (CPU), in the form of circuit(s) for one or more processors, for executing program instructions. The server platform typically includes an internal communication bus, program storage and data storage for various data files to be processed and/or communicated by the server, although the server computer platform often receives and/or distributes programming and data via network communications through one or more packet data networks such as the network70inFIG.1. The hardware elements, operating systems and programming languages of such server type computers are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith. Of course, the server functions may be implemented in a distributed fashion on a number of similar hardware platforms, particularly to host the cloud service for firmware updates, so as to distribute the processing load.

A computer type user terminal device, such as a PC or tablet computer, similarly includes a data communication interface, a CPU, main memory and one or more mass storage devices for storing user data and the various executable programs. A mobile device type user terminal (not separately shown) may include similar elements, but will typically use smaller components that also require less power, to facilitate implementation in a portable form factor. The various types of user terminal devices will also include various user input and output elements. A personal computer other work station, for example, may include a keyboard and a cursor control/selection device such as a mouse, trackball, joystick or touchpad; and a display for visual outputs. A microphone and speaker enable audio input and output. Some smartphones include similar but smaller input and output elements. Tablets and other types of smartphones utilize touch sensitive display screens, instead of separate keyboard and cursor control elements. The hardware elements, operating systems and programming languages of such user terminal devices also are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith.

As shown by the above discussion, some functions relating to the user identification and asset tag location estimation association may be implemented on computers connected for data communication via the components of a nodal wireless network and/or a more general data network, operating as wireless enabled computing device, as a host or server platform for firmware update service or as a user terminal for interaction therewith as shown inFIG.1. Although special purpose devices may be used for the wireless enabled computing device140, such devices also may be implemented using one or more hardware platforms intended to represent a general class of data processing device commonly used to run gateway and/or “server” programming so as to implement the update controller or the cloud based firmware update service functions discussed above, albeit with an appropriate network connection for data communication with other equipment described above.

As known in the data processing and communications arts, a general-purpose computer typically comprises a central processor or other processing device, an internal communication bus, various types of memory or storage media (RAM, ROM, EEPROM, cache memory, flash memory, disk drives etc.) for code and data storage, and one or more network interface cards or ports for communication purposes. The software functionalities of such computers or the like involve programming, including executable code as well as associated stored data, e.g. files used for the updated firmware images, etc. Some of the software code, may be executed by the back end server ofFIG.5or by a more general purpose type wireless enabled computing device. Additional software code may be executable by the general-purpose computer like that ofFIG.5that functions as server hosting the user identification service142and asset tag location estimation association service144. In operation, the code is stored within the particular platform. At other times, however, the software may be stored at other locations and/or transported for loading into the appropriate general-purpose computer system. Execution of such code by a processor of the computer or other type platform enables the platform to implement portions of the selective firmware update methodology, in essentially the manner performed in the implementations discussed and illustrated herein.

Aspects of the user identification and asset tag location estimation association service may be embodied in programming, for example, for the wireless enabled nodes, the wireless enabled computing device or for a computer server providing the cloud service. Programming for a wireless enabled node in the illustrated examples takes the form of firmware for the node processor typically the processor of the radio circuitry in the node. Programming for other programmable equipment may take the form of software. Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine readable medium. “Storage” type media include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the executable code and data of the programming. All or portions of the programming may at times be communicated through the Internet or various other telecommunication networks. For example, communications via one or more networks may enable transfer of tag location and user association data from one computer or processor into another. Thus, another type of media that may bear the programming elements includes optical, electrical and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the programming. As used herein, unless restricted to non-transitory, tangible “storage” media, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution.

While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.