Patent Description:
Many mobile electronic devices, such as Bluetooth Low Energy (BLE) devices, are battery-powered wireless devices. Such devices may often be used as beacons to identify locations of items. For example, a BLE device can be embedded in or be part of an item (such as a crate, pallet, or the like) or be used to track the location of the item during transportation between facilities, storage within a facility, and so forth. To enable such location identification and tracking capabilities, the BLE device transmits periodic advertisements indicating its location at the time the advertisement is transmitted at a specified period and power level to receiving devices, such as other BLE devices, access points (APs), or the like. In some embodiments, to enable triangulation, trilateration, or the like, to identify the location of the BLE device when the BLE device transmitted the advertisement, the advertisement should be received by multiple APs. Such periodic advertisement transmissions at power levels sufficient to enable multiple APs to receive the periodic advertisements from the BLE device may utilize a large amount of power relative to the power capabilities of the battery-powered BLE device. For example, transmitting advertisements at a sufficient power level to enable multiple APs to receive the advertisements can expend the battery of the BLE device too quickly and create interference in an environment, which is generally undesirable.

<CIT> describes, according to its abstract, a tracking system determining a location of a tracking device associated with a user using one or more access points at the location. Each access point at the location is configured to detect and couple with the tracking device when the tracking device is within a communicative range of the access point. An access point provides updates on the tracking device's presence, as well as the tracking device's arrival to and departure from the communicative range of the access point, to a tracking server. The tracking server determines, from these updates, whether the tracking device is at the location. The user may be notified, via a mobile device, of the tracking device's location.

It is to be noted, however, that the appended drawings illustrate typical embodiments and are therefore not to be considered limiting, other equally effective embodiments are contemplated.

Various embodiments disclosed herein include apparatuses, systems, devices, and methods for identifying, tracking, and/or monitoring a location of an electronic device, such as a Bluetooth Low Energy (BLE) beacon device. A method comprises, receiving an identifier for a BLE device to locate in an environment comprising a plurality of access points (APs). The method further comprises identifying a first AP of the plurality of APs that is communicating with the BLE device at a first power level. The first AP may be communicating with the BLE device to configure the BLE device for communications with the plurality of APs, and so forth. The method additionally comprises instructing, using the first AP, the BLE device to increase a transmission power level at which the BLE broadcasts one or more advertisements until a threshold number of APs of the plurality of APs receive the broadcast one or more advertisements from the BLE device at or with a minimum received signal strength indicator (RSSI) value, as measured at each receiving AP. The threshold number of APs includes the first AP. The method also comprises receiving an RSSI value as measured by each of the threshold number of APs for the advertisements from the BLE device from each of the threshold number of APs. Based on these received RSSI values, the method comprises computing the location of the BLE device in the environment based on the RSSI values, or similar values.

In accordance with some embodiments, a wireless controller comprises one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the wireless controller to perform a method of locating a BLE device. In accordance with some embodiments, a non-transitory computer readable storage medium has stored therein instructions, which, when executed by one or more processors of a wireless controller, cause the wireless controller to perform or cause performance of any of the methods described herein. In accordance with some embodiments, a wireless controller includes: a communication interface, one or more processors, and a non-transitory memory for performing or causing performance of any of the methods described herein.

Battery-powered wireless devices, such as BLE devices or tags (referred to herein as BLE devices), may be used for various purposes, such as sensor telemetry, asset tracking, people tracking, and the like. In some embodiments, the BLE device corresponds to an Internet of Things (IoT) device. To accomplish such purposes, the BLE devices broadcast periodic or event-driven advertisements that contain, for example, device identifying data or data measured by one or more sensors onboard the BLE device. Because these BLE devices are battery-powered, they can be mobile and have increased potential use cases as compared to corresponding wired devices. However, one factor influencing a battery life of such BLE devices is a transmission power level and frequency of the BLE device. For example, a BLE card-type device that transmits advertisements every second at -<NUM> decibels per milliwatt (dBm) or less and that is powered by two coin-cell batteries can last for approximately <NUM> years. On the other hand, the same BLE card-type device that transmits the advertisements every second at 4dBm or more may last for only approximately <NUM> months. Thus, relatively minor changes in the transmission power level of the BLE device can drastically impact the battery life of the BLE device, which can influence maintenance costs associated with the BLE device.

Furthermore, an example wireless communication system comprising a controller and a plurality of APs may identify the location of the BLE device using trilateration, triangulation, or the like, based on corresponding measurements of the RSSI of the advertisements (or other aspects of the advertisements) received at or by the APs. Based on such methodologies, a location accuracy of the identified location for the BLE device is related to the RSSI (or other aspects) for the advertisement received from the BLE device at the AP, such that the higher the RSSI for the advertisement received at the APs, the greater the location accuracy of the location of the BLE device in the environment, and so forth. Where the RSSI is a measure of the signal strength of the corresponding advertisement, a higher RSSI measured at the AP corresponds to a higher transmit power level at the BLE device. However, the higher transmit power level at the BLE device, the faster the BLE device battery(ies) drains. Thus, the BLE location accuracy and the BLE device battery life are relatively inversely related. Furthermore, because the environment in which the BLE device will likely be used is often dense with a number of other wireless devices, high transmission power levels can create interference, increasing errors and worsening signal quality for other BLE devices in the environment.

One embodiment presented in this disclosure that cures, or at least mitigates, the deficiency of the example wireless communication system introduced above outlines a method of locating a BLE device, as introduced above, in communication with a first AP of the wireless communication system introduced above. The first AP may communicate with the BLE device while the BLE device is configuring itself to communicate with the wireless communication system. As part of this configuration, the first AP may instruct the BLE device to communicate at a particular initial or minimum transmission power level, for example, for advertisement transmissions. The method of locating the BLE device may comprise instructing the BLE device, via the first AP, to increase its transmission power from the initial transmission power level until a threshold number of APs receive the advertisement transmitted by the BLE device. Once the threshold number of APs receive the BLE device's transmitted advertisement, these APs can provide received signal information (for example, RSSI measurements, timing measurements, and the like) to the controller for a determination of a location of the BLE device.

More specifically, in such an embodiment, the controller identifies the BLE device to locate and identifies the first AP that is communicating with the BLE device to locate. This first AP communicating with the BLE device may be the AP that the BLE device connected to for configuration and similar purposes. The controller may identify the initial or first transmission power level of the BLE device based on reports from the first AP, such as reported RSSI values for advertisement transmissions received from the BLE device by the first AP. The controller also identifies whether additional APs are receiving the advertisement transmissions from the BLE device once the BLE device starts broadcasting advertisements and similar messages based on which the location of the BLE device can be determined.

Where the controller determines that only the first AP is communicating with or receiving advertisements broadcast by the BLE device, the controller requests the first AP to instruct the BLE device to incrementally increase a transmission power of the BLE device until a threshold number of APs (such as <NUM> or <NUM> total APs) are able to receive one or more advertisements broadcast by the BLE device. Each of the threshold number of APs then communicates corresponding RSSI values (or corresponding measurements) for one or more advertisements received from the BLE device to the controller. The controller can then identify the location of the BLE device, for example, based on the RSSI values reported by each AP. In some embodiments, other parameters associated with the received one or more advertisements can be used to identify the location of the BLE device. Furthermore, the location of the BLE device may be identified with respect or relative to one or more of the APs that received the one or more advertisements broadcast by the BLE device. In some embodiments, the threshold number of APs varies based on the method of location determination used to identify the location of the BLE device. In some embodiments, where a previous location for the BLE device is known, the previous location and a time between when the previous location was determined and a current time can be used in determining the current location of the BLE device.

In one use case, the BLE device is configured to transmit telemetry data at an optimal transmission power selected such that at least the first AP receives transmissions from the BLE device.

In another use case, the BLE device provides localization and tracking information with an updated optimal transmission power selected such that a sufficient number of APs measure RSSI values for the transmission from the BLE device, and where the measured RSSI values meet or exceed a minimum RSSI threshold. Because APs in an environment are often deployed in a grid pattern, the minimum number of APs that receive transmissions from the BLE devices at acceptable or the threshold RSSI values (as measured by the APs) to determine the location of the BLE devices may be three or four (for example, in trilateration or triangulation methods of location determination). Where the RSSI value measured at a first AP of the minimum number of APs is not good, the BLE device is instructed to increase its transmission power to improve the RSSI value at the first AP. In some embodiments, the minimum transmission signal power for the BLE device is -75dBm. In some embodiments, a variance of the minimum transmission signal power is relatively small, such that the standard deviation of the transmission signal power is 7dBm.

While the example embodiments described herein relate to BLE devices, similar methodologies can be applied to other battery-powered wireless communication devices, regardless of the communication protocol employed by the battery-powered wireless communication device. In some embodiments, the BLE device(s), the AP(s), the loT device(s), and the controller described herein comprise a processor and memory and the like.

<FIG> depicts an example embodiment of a location system <NUM>, managed by a controller circuit (controller) <NUM>, which identifies a location of the BLE device <NUM> based on one or more advertisements transmitted by the BLE device <NUM> and received by a plurality of the APs <NUM>. The location system <NUM> includes a controller <NUM> in communication with the APs <NUM>. In some embodiments, the controller <NUM> (e.g., a wireless controller such as a wireless local area network (WLAN) controller) manages communications for a plurality of APs <NUM>, such as the APs 106a-106i.

As shown in <FIG>, the BLE device <NUM> operates with a transmission power level that enables the BLE device <NUM> to communicate with all devices within an area <NUM>. Thus, when the BLE device <NUM> transmits an advertisement, all of the APs 106a-<NUM> receive the advertisement with different signal strength values, such as different RSSI values. In some embodiments, as introduced above, where the BLE device <NUM> operates with the single transmission power level, the advertisement (and other) transmissions by the BLE device <NUM> may create interference for other BLE and wireless devices in the area <NUM>. Similarly, other BLE and wireless devices in the area <NUM> can create interference for the BLE device <NUM> and the APs <NUM>. Furthermore, because the transmission by the BLE device <NUM> is operating at a high enough transmission power level to broadcast to the area <NUM>, the battery of the BLE device <NUM> may be drained more quickly than if the BLE device <NUM> transmitted the advertisements at a lower power level, for example, where the area <NUM> would be smaller than as shown in <FIG>.

In the system <NUM>, the BLE device <NUM> is shown communicating with the AP 104a at communication 110a to obtain configuration information for the system <NUM>. However, because the BLE device <NUM> communicates at a single transmission power level, all of the APs 106b-<NUM> also receive communications 110b-h that correspond to the communication 110a. Where the APs 106b-<NUM> do not need to receive the configuration communications 110b-<NUM>, these communications create interference for the APs 106b-<NUM> and other wireless devices communicating in the area <NUM>.

<FIG> depicts an example embodiment of a location system <NUM> where a BLE device <NUM> broadcasts communications or advertisements <NUM> at a first power level to one or more neighboring APs <NUM> managed by a controller <NUM>.

The APs <NUM> may correspond to the APs <NUM> and the controller <NUM> corresponds to the controller <NUM>. In some embodiments, the BLE device <NUM> may communicate with the AP 206a (or any other AP <NUM> of the location system <NUM>) to register or configure the BLE device <NUM> for location tracking, communication, or the like, for example, at communication 210a, corresponding to communication 110a. In some embodiments, registering the BLE device <NUM> may occur at a predetermined transmission power level established, for example, at manufacture of the BLE device <NUM>, identified in a beacon or other communication received by the BLE device <NUM> from the AP 206a, and the like. For example, the BLE device <NUM> identifies the existence of the location system <NUM> via a beacon transmitted by one or more of the APs <NUM>. The BLE device <NUM> may identify in the transmitted beacon information that enables the BLE device <NUM> to register with the location system <NUM>, including a requested transmission power level for the BLE device <NUM> to use during the registration at the communication 210a, and so forth.

In this example, the requested transmission power level for the BLE device <NUM> results in only the AP 206a being able to communicate with the BLE device <NUM>. In some embodiments, the requested transmission power level may be low enough such that the BLE device <NUM> will only be able to communicate with a single AP <NUM> regardless of the location of the BLE device <NUM> relative to the APs <NUM>. In some embodiments, the requested transmission power level may allow the BLE device <NUM> to communicate with a plurality of APs <NUM> dependent on the location of the BLE device <NUM> relative to the APs <NUM>. The BLE device <NUM> may transmit with a transmission power level such that APs <NUM> within an area defined by area <NUM> receive transmissions from the BLE device <NUM>. Thus, as shown in <FIG>, the BLE device <NUM> transmits with a transmission power level such that only the AP 206a can receive transmissions from the BLE device <NUM> as the only AP <NUM> within the area <NUM>. The remaining APs 206b-206i are unable to receive transmissions from the BLE device <NUM> transmitted at the transmission power level associated with the area <NUM>. In some embodiments, the BLE device <NUM> may convey telemetry data regarding the BLE device <NUM> to the AP 206a. The telemetry data may comprise data about the communications capabilities and components of the BLE device <NUM>. By using this reduced power level, the BLE device <NUM> can improve its battery life while still maintaining communications with the location system <NUM>.

In some embodiments, each BLE device <NUM> transmits advertisements including an identifier for the BLE device <NUM>. The identifier for the BLE device <NUM> may be unique to that BLE device <NUM>, such as a wireless ID, a name, an address, a last identified location, and the like. The AP 206a may report the identifier for the BLE device <NUM> to the controller <NUM>. In some embodiments, the AP 206a also reports an RSSI value measured for the advertisement received from the BLE device <NUM> to the controller <NUM>. In this way, the controller <NUM> can track which BLE devices <NUM> are within an area or environment in which the controller <NUM> and the APs <NUM> can identify or determine corresponding locations.

In certain embodiments, the controller <NUM> may receive a request, for example, from a user, to identify a location of a given product or item. For example, the controller <NUM> may receive an identifier for the BLE device <NUM> from the user. The controller <NUM> may determine that, based on the transmission power level at which the BLE device <NUM> is currently transmitting, an insufficient number of APs <NUM> receive advertisements broadcast by the BLE device <NUM> to determine the location for the BLE device <NUM>. For example, the controller <NUM> may know that only the AP 206a receives the advertisements broadcast by the BLE device <NUM> based on the RSSI value reported by the AP 206a to the controller <NUM> for the advertisements received from the BLE device <NUM> or based on no other APs <NUM> reporting receipt of corresponding advertisements from the BLE device <NUM>.

Where the controller <NUM> determines that insufficient APs <NUM> receive advertisements from the BLE device <NUM> for which the controller <NUM> received the request to determine the location, the controller <NUM> may work with the AP 206a communicating with the BLE device <NUM> to improve conditions. For example, the controller <NUM> may cause the AP 206a to instruct the BLE device <NUM> to incrementally increase its transmission power level until a sufficient number of APs <NUM> receive the advertisements from the BLE device <NUM>. The sufficient number of APs <NUM> may correspond to the minimum number of APs <NUM> needed to determine the location of the BLE device <NUM> using a particular method. In certain embodiments, the minimum number of APs <NUM> used to determine the location of the BLE device <NUM> is three using, for example, triangulation or trilateration. In some embodiments utilizing trilateration, the minimum number of APs <NUM> is four.

In some embodiments, the incremental increase in the transmission power level of the BLE device <NUM> transmitting the advertisements comprises incrementing the transmission power level by a fixed amount, a variable amount, an exponential amount, or the like. As described above, the transmission power level of the BLE device <NUM> is directly related to the area <NUM> in which the APs <NUM> receive the broadcast advertisements. As the transmission power level of the BLE device <NUM> increases, the area <NUM> in which the APs <NUM> can receive broadcast advertisements also increases. Thus, as the BLE device <NUM> incrementally increases its transmission power level, the area <NUM> in which the BLE device <NUM> can communicate with the APs <NUM> also increases, as described in more detail below with respect to <FIG>.

<FIG> depicts another example embodiment of the location system <NUM> of <FIG>, where the BLE device <NUM> broadcasts advertisements to a plurality of APs <NUM> at different power levels at which the BLE device <NUM> transmits. The location system <NUM> shows different areas 208a-208d corresponding to different transmission power levels for the BLE device <NUM>. Thus, the location system <NUM> shows how the different transmission power levels for the BLE device <NUM> can result in different APs <NUM> receiving the broadcast advertisements from the BLE device <NUM>.

The location system <NUM> depicts four different areas 208a-208d corresponding to four different transmission power levels for simplicity and brevity of discussion. However, more or fewer different areas <NUM> and corresponding transmission power levels can exist for the location system <NUM>. The area 208d may be a largest area that corresponds to a maximum transmission power for the BLE device <NUM>, where the area 208d is the largest area shown with respect to the location system <NUM>. The area 208d may correspond to the area <NUM> of <FIG>, where the BLE device <NUM> transmits at, for example, a maximum power level. The area 208a depicts a minimum area that corresponds to a minimum transmission power for the BLE device <NUM>. As described above, when the BLE device <NUM> is transmitting at the minimum power level, such as after registering with the AP 206a; thus, the area 208a may correspond to the area <NUM> of <FIG>.

Between the maximum area 208d and the minimum area 208a, the location system <NUM> shows two additional representative areas, 208b and 208c. With the area 208b, the BLE device <NUM> transmits or broadcasts advertisements with or at a corresponding transmission power level. The corresponding transmission power level may be incrementally higher than the minimum transmission power level that generates the minimum area 208a. At the transmission power level corresponding to the area 208b, the broadcast advertisements are received by two APs 206b and 206d in addition to the AP 204a that also receives the broadcast advertisements at the minimum transmission power level.

At another incrementally increased transmission power level, the BLE device <NUM> may broadcast advertisements to an area 208c, which is larger than the areas 208a and 208b but smaller than the area 208d. At this corresponding transmission power level, the BLE device <NUM> can broadcast its advertisements to a fourth AP 206e in addition to the AP 206a that receives advertisements in the area 208a and area 208b as well as the APs 206b and 206d that receive advertisements in the area 208b.

In some embodiments, the differences between the transmission power levels corresponding to the area 208a and 208b may be one or incremental transmission power level increases. For example, when the controller <NUM> causes the AP 206a to instruct the BLE device <NUM> to increase its transmission power level from the minimum transmission power level corresponding to the area 208a, the incremented transmission power level may correspond to the area 208b. Similarly, the difference between the transmission power levels corresponding to the areas 208b and 208c may be one or incremental transmission power level increases, and the difference between the transmission power levels corresponding to the areas 208c and 208d may be one or incremental transmission power level increases.

When the BLE device <NUM> is transmitting at the transmission power level corresponding to the area 208c where the four APs 206a, 206b, 206d, and 206e receive advertisements broadcast by the BLE device <NUM>, the controller <NUM> receives reports from each of the APs 206a, 206b, 206d, and 206e reporting one or more parameters of the received advertisements, such as corresponding RSSI values measurement by the APs 206a, 206b, 206d, and 206e, and the like. The controller <NUM> can use the received reports to determine the location of the BLE device <NUM>, which can then be provided to the requesting user, to the BLE device <NUM>, and so forth. <FIG> below shows details of the broadcast advertisement received by the APs 206a, 206b, 206d, and 206e that enables the controller <NUM> to determine the location of the BLE device <NUM>.

<FIG> depicts another example embodiment of the location system <NUM> of <FIG>, where the BLE device <NUM> broadcasts advertisements to four APs 206a, 206b, 206d, and 206e of the location system <NUM>. The BLE device <NUM> communications via, for example, the broadcast advertisements, with the APs 206a, 206b, 206d, and 206e are shown with communications 410a, 410b, 410c, and 410d, respectively. Specifically, the communication 410a between the BLE device <NUM> and the AP 206a, which may correspond to the communication <NUM> of <FIG>, may also or instead comprise the advertisement broadcast by the BLE device <NUM> or instructions from the AP 206a to the BLE device <NUM> to incrementally increase the transmission power level at which the BLE device <NUM> broadcasts the advertisements. The communication 410b exists between the BLE device <NUM> and the AP 206b, where the AP 206b receives the advertisement broadcast by the BLE device <NUM>. The communication 410c exists between the BLE device <NUM> and the AP 206d, where the AP 206d receives the advertisement broadcast by the BLE device <NUM>. The communication 410d exists between the BLE device <NUM> and the AP 206e, where the AP 206e receives the advertisement broadcast by the BLE device <NUM>.

The APs 206a, 206b, 206d, and 206e may communicate or report receipt of the advertisements from the BLE device <NUM> to the controller <NUM> along with details of the receipt, such as the RSSI value measured for the received advertisements or one or more other parameters regarding the received advertisements. Where the one or more parameters include signal strength information, the controller <NUM> may use trilateration, triangulation, or the like, to determine the location of the BLE device <NUM>. Where the one or more parameters include timing information, the controller <NUM> may use triangulation to determine the location of the BLE device <NUM>.

In some embodiments, the controller <NUM> determines the location of the BLE device <NUM> based on the reports from the threshold number of APs <NUM> or that the location of the BLE device <NUM> is no longer requested. The controller <NUM> may then cause the AP 206a (or any other AP 206b, 206d, or 206e receiving advertisements from the BLE device <NUM>) to instruct the BLE device <NUM> to incrementally or immediately reduce its transmission power level. The BLE device <NUM> may be instructed to reduce its transmission power level back to the minimum transmission power level (associated with the area 208a) or another transmission power level at which the BLE device <NUM> communicates with fewer APs <NUM> than the threshold number of APs <NUM>. In some embodiments, after reducing its transmission power level, the BLE device <NUM> advertisements are only received by a single AP <NUM>. In this way, the BLE device <NUM> can conserve power and create less interference for other devices when its location is not being determined or requested.

Further details of the communications between the APs <NUM> and the BLE device <NUM> to enable the controller <NUM> to identify the location of the BLE device <NUM> are provided below with respect to <FIG>.

<FIG> depicts a communication flow diagram <NUM> between components of the location system <NUM> of <FIG> and the BLE device <NUM> that enables the controller <NUM> to identify the location of the BLE device <NUM>, according to an embodiment described herein.

The flow diagram <NUM> begins with communication <NUM>, where the controller <NUM> receives the request to determine or monitor the location of the BLE device <NUM>. In some embodiments, the request is received from a user while the BLE device <NUM> is moving or since the BLE device <NUM> initially registered and configured with the AP 206a. Thus, the controller <NUM> may communicate with the AP <NUM> that most recently reported receiving the advertisement broadcast from the BLE device <NUM> which has the identifier for which the location was requested by the user. For the discussion below, the controller <NUM> communicates with the AP 206a as the AP 206a in communication with the BLE beacon <NUM>.

At communication <NUM>, the controller <NUM> instructs the AP 206a to ask the BLE device <NUM> to transmit an advertisement at a first power level. In some embodiments, the first power level may be the power level used to register and configure the BLE device <NUM> with the AP 206a. In some embodiments, the first power level may comprise an incremented power level from the minimum power level used to register the BLE device <NUM> with the AP 206a. In some embodiments, instead of asking the BLE device <NUM> to transmit the advertisement at any particular power level, the AP 206a asks the BLE device <NUM> to increment its transmission power level by a given amount or to a given power level.

At communication <NUM>, the AP 206a transmits the instruction to the BLE device <NUM> to transmit the advertisement at the incremented power level.

At communication <NUM>, the BLE device <NUM> transmits the advertisement at the (incrementally or otherwise) increased transmission power level. Because this transmission power level is increased over the minimum power level (or because the BLE device <NUM> has moved since registering with the AP 206a), the advertisement in the communication <NUM> is transmitted to the AP 206a and the AP 206b.

At communication <NUM>, the AP 206a reports to the controller <NUM> one or more parameters of the advertisement received from the BLE device <NUM>. In some embodiments, the one or more parameters may be the RSSI value of the advertisement received by the AP, a transmission power level of the advertisements, and the like. Similarly, at communication <NUM>, the AP 206b reports to the controller <NUM> one or more parameters of the advertisement it received from the BLE device <NUM>, where the one or more parameters correspond to the one or more parameters reported by the AP 206a. In some embodiments, the RSSI values of the advertisements received by the AP 206a and the AP 206b are different from each other.

At processing <NUM>, the controller <NUM> identifies the number of APs <NUM> that received the advertisement from the BLE device <NUM> transmitted at the first power level. If the controller <NUM> determines that the number of APs <NUM> (here, two) is less than the threshold number of APs <NUM> (for example, four), then the controller <NUM> may generate an instruction to the AP 206a (or the AP 206b) to cause the BLE device <NUM> to incrementally increase its transmission power level again and then again broadcast the advertisement. At communication <NUM>, the controller <NUM> transmits the generated instruction to the AP 206a.

At communication <NUM>, the AP 206a transmits updated instructions to the BLE device <NUM>, requesting that the BLE device <NUM> again increment its transmission power level and broadcast the advertisement, similar to communication <NUM> above.

At communication <NUM>, the BLE device <NUM> broadcasts the advertisement with the again incremented transmission power level. Because this transmission power level is increased over the previous power level (now corresponding to the area 208b), or because the BLE device <NUM> has moved since broadcasting the advertisement at communication <NUM>, the advertisement broadcast at communication <NUM> is transmitted to the AP 206a, the AP 206b, the AP 206d, and the AP 206e.

At communication <NUM>, the AP 206a reports to the controller <NUM> the one or more parameters of the advertisement received from the BLE device <NUM>, as described above with respect to communication <NUM>. Similarly, at communications <NUM>, <NUM>, and <NUM>, the APs 206b, 206d, and 206e, respectively, report to the controller <NUM> the one or more parameters of the advertisement they received from the BLE device <NUM>, similar to the communication <NUM> described above.

At processing <NUM>, the controller <NUM> identifies the number of APs <NUM> that received the advertisement from the BLE device <NUM> transmitted at the first power level. If the controller <NUM> determines that the number of APs <NUM> (here, four) is equal to or greater than the threshold number of APs <NUM> (for example, three or four), then the controller <NUM> may perform trilateration (or another or similar processing) to determine the location of the BLE device <NUM>. In some embodiments, the controller <NUM> again determines that the number of APs <NUM> that received the advertisement does not match or exceed the threshold or that not all of the threshold number of APs <NUM> received the advertisement with the minimum RSSI value (or other parameter). Accordingly, the controller <NUM> may generate another instruction to the AP 206a (or another AP <NUM> that received the most recent advertisement) to cause the BLE device <NUM> to again incrementally increase its transmission power level and then again broadcast the advertisement. If the transmission power level is incrementally increased, the steps <NUM>-<NUM> can be repeated until the number of APs <NUM> reporting receipt of the advertisement from the BLE device <NUM> (and the corresponding RSSI values) is greater than or equal to the threshold.

At communication <NUM>, the controller <NUM> may report the location of the BLE device <NUM> to the requesting user. In some embodiments, the controller <NUM> also reports the location to the BLE device <NUM>.

At communication <NUM>, the controller <NUM> may instruct the AP 206a (or any one of the APs <NUM> that received the last advertisement broadcast by the BLE device <NUM>) to instruct the BLE device <NUM> to reduce its transmission power (incrementally or directly) to the minimum transmission power level or to a predetermined transmission power level. The AP 206a may transmit such an instruction to the BLE device <NUM> at communication <NUM>.

In some embodiments, the transmission power used by the BLE device <NUM> is determined based on a density of the APs <NUM> in the environment. For example, where the AP <NUM> density is high, the transmission power used by the BLE device <NUM> is lower than when the AP <NUM> density is low. Furthermore, the transmission used by the BLE device <NUM> may be determined based on where the BLE device <NUM> is located relative to the APs <NUM>, such as in or as part of an edge network.

By adjusting its transmission power level based on circumstances, environmental conditions, and the like, the BLE device <NUM> can reduce its power expenditure until needed. For example, since the BLE device <NUM> broadcasts advertisements to provide data to the APs <NUM>, reducing the transmission power for the broadcasts enables the BLE device <NUM> to save power and extend a battery life. In some embodiments, the BLE device <NUM> can further increase an interval between consecutive advertising intervals, for example, from <NUM> milliseconds to <NUM> second, which can also reduce the power consumption of the BLE device <NUM>. In some embodiments, the BLE device <NUM> receives instructions to increase or decrease its transmission power level, for example, from another BLE device or from an AP <NUM>. In response to the instructions, the BLE device <NUM> transmits an acknowledgement to the device that requests the increase or decrease.

As described above, the BLE device <NUM> may communicate with the AP 206a (or any other AP <NUM> of the location system <NUM>) to register or configure the BLE device <NUM> for location tracking, communication, or the like, for example, at communication 210a. In some embodiments, after the BLE device <NUM> registers with the AP 206a, the BLE device <NUM> may maintain communications at the same transmission power level as indicated by the area 208b. Similarly, other BLE devices (not shown) may also operate at low transmission power levels such that only one or a minimal number of APs <NUM> are receiving broadcast transmissions from the other BLE devices.

As shown, the requested transmission power level for the BLE device <NUM> results in only the AP 206a being able to communicate with the BLE device <NUM>. In some embodiments, the requested transmission power level may be low enough such that the BLE device <NUM> will only be able to communicate with a single AP <NUM> regardless of the location of the BLE device <NUM> relative to the APs <NUM>. In some embodiments, the requested transmission power level may allow the BLE device <NUM> to communicate with a plurality of APs <NUM> dependent on the location of the BLE device <NUM> relative to the APs <NUM>. The BLE device <NUM> may transmit with a transmission power level such that APs <NUM> within an area defined by area <NUM> receive transmissions from the BLE device <NUM>. Thus, as shown in <FIG>, the BLE device <NUM> transmits with a transmission power level such that only the AP 206a can receive transmissions from the BLE device <NUM> as the only AP <NUM> within the area <NUM>. The remaining APs 206b-206i are unable to receive transmissions from the BLE device <NUM> transmitted at the transmission power level associated with the area <NUM>. In some embodiments, the BLE device <NUM> may convey telemetry data regarding the BLE device <NUM> to the AP 206a. The telemetry data may comprise data about the communications capabilities and components of the BLE device <NUM>, sensor data (such as temperature data, light data, and so forth), advertisements, advertisement or beacon profiles, or advertisement or beacon protocols, and the like.

<FIG> depicts a flow chart of the process <NUM> for incrementally increasing the transmission power level of a BLE device until a threshold number of APs of a location system (such as the location system <NUM> of <FIG>) receives the periodic advertisement to enable a controller to determine a location of the BLE device. While the flow chart of the process <NUM> and corresponding description include reference to components of the location system <NUM> of <FIG>, the blocks of the process <NUM> are not limited to that example embodiment and may apply to various other combinations of components. Furthermore, the process <NUM> is not required to perform each of or only the shown blocks and is not limited to performing the indicated blocks in any particular order.

At block <NUM>, the process <NUM> includes registering the BLE device with the location system via one or more APs of the location system. In some embodiments, registering the BLE device with the one or more APs comprises receiving and responding to a beacon transmitted by the APs of the location system. The beacon may indicate to the BLE device an expected or requested transmission power level for the BLE device to set as default for use when communicating with the one or more APs of the location system. The requested transmission power level may be set to a value such that only one or a minimal number of APs of the location system can receive broadcasts from the BLE device when the BLE device is located anywhere in an environment served by the location system.

At block <NUM>, the process <NUM> comprises one of the APs of the location system receiving a broadcast advertisement or beacon from the BLE device. In some embodiments, the advertisement is broadcast in response to one AP requesting the BLE device to broadcast the advertisement to enable the location system to identify a location of the BLE device, as described herein. Where the request to the BLE device to broadcast the advertisement includes a requested or incremented transmission power level, or indication to increment the BLE device transmission power level, the BLE device may increment its transmission power level or broadcast the advertisement at the indicated transmission power level. The broadcast advertisement will be received by any AP within an area corresponding to the transmission power level of the BLE device, as described above.

At block <NUM>, the process <NUM> comprises determining whether the number of APs that receive the broadcast advertisement from the BLE device at block <NUM> meets or exceeds a threshold number of APs. In some embodiments, the threshold number of APs is set based on the number of APs required to receive the broadcast advertisement to mathematically identify the location of the BLE device (for example, three or four APs to use trilateration or triangulation methods to identify the location of the BLE device). In certain embodiments, the threshold number of APs may be dynamically set or predetermined for all use cases. In some embodiments, determining whether the threshold number of APs receive the broadcast advertisement also comprises determining whether the RSSI for the broadcast advertisement received by each AP meets or exceeds a threshold RSSI. Thus, not only will a threshold number of APs receive the broadcast advertisement to determine the location of the BLE device, the threshold number of APs will receive the broadcast advertisement with at least the threshold RSSI. In some embodiments, the controller of the location system performs the check of the number of receiving APs based on reports of advertisement receipt from each AP of the location system.

At block <NUM>, where the number of APs receiving the advertisement (or the number of APs receiving the advertisement with the threshold RSSI) does not meet or exceed the corresponding threshold, the process <NUM> instructs the BLE device to increment its transmission power level. As introduced above, such incrementing can be an increment to a predetermined higher transmission power level, an increment by a predetermined amount, an increment by or to a dynamically calculated amount, and so forth. In some embodiments, the controller may generate and transmit instructions to the one or more APs communicating (for example, receiving the broadcast advertisement of) the BLE device to instruct the BLE device to increment its transmission power level. The one or more APs may then transmit corresponding instructions to the BLE device to increment its transmission power level and rebroadcast an advertisement at the incremented transmission power level.

In some embodiments, though not shown, the process <NUM>, as part of the block <NUM> or separately, determines whether the number of APs that receive the broadcast advertisement received with broadcast advertisement with threshold parameters, such as the threshold RSSI introduced herein. Where the threshold number of APs did not receive the broadcast advertisement with the threshold parameters, the proceeds to the block <NUM> as introduced.

At block <NUM>, where the number of APs receiving the advertisement (or the number of APs receiving the advertisement with the threshold RSSI) does meet or exceed the corresponding threshold, the process <NUM> uses the reports from the number of APs receiving the broadcast advertisements from the BLE device to determine the location of the BLE device. For example, the reports from the APs to the controller include the RSSI or timing data associated with the received advertisements, the controller may employ trilateration or triangulation or similar corresponding methods to determine the location of the BLE device with respect to the APs, and so forth.

At block <NUM>, the process <NUM> comprises instructing the BLE device to decrease or reset its transmission power level to a configured or preset transmission power level, for example, via decrements of the transmission power level or an immediate reduction of the transmission power level to the configured level. In some embodiments, where large changes in the transmission power level negatively impact interference and other aspects or other devices in the location system, the APs and controller instruct the BLE device to reduce the transmission power level gradually. In some embodiments, the controller may provide the location of the BLE device to the BLE device so the BLE device can broadcast its location (or last calculated location) in its advertisement, for example, with a time of when the location was last calculated. In this way, the BLE device can provide its location to devices that are unable to perform the corresponding calculations or without requiring increases in power transmission levels. In some embodiments, the controller provides the location of the BLE device to a requesting entity, such as a user, and so forth. In some embodiments, the blocks <NUM>-<NUM> of the process <NUM> are repeated until the number of APs that receive the broadcast advertisement from the BLE device exceeds the threshold number (and the corresponding threshold RSSI). Thus, the controller, APs, and BLE device work together to enable the BLE device to incrementally increase its transmission power level from a low, energy saving transmission power level to a higher transmission power level where the location of the BLE device can be determined to increase a battery life of the BLE device. By enabling just increasing and decreasing of the transmission power level for the BLE device, the BLE can reduce transmission power until a high transmission power level is requested, which will extend the battery life of the BLE device because high transmission power levels result in shorter battery life.

<FIG> is a flow chart of a method <NUM> for locating a BLE device via a location system, such as the location system <NUM> of <FIG>, by varying a transmission power level of the BLE device when broadcasting advertisements, according to aspects described herein. While the flow chart of the method <NUM> and corresponding description include reference to components of the location system <NUM> of <FIG>, the blocks of the method <NUM> are not limited to that example embodiment and may apply to various other combinations of components. Furthermore, the method <NUM> is not required to perform each of or only the shown blocks and is not limited to performing the indicated blocks in any particular order.

At block <NUM>, the method <NUM> comprises receiving an identifier for a BLE beacon to locate in an environment comprising a plurality of access points. In some embodiments, the controller receives the identifier from a requesting user or entity. In response to receiving the identifier, the controller determine whether the identified BLE device is communicating with the location system, for example, by searching a database of BLE devices communicating with the location system for the received identifier. In some embodiments, each device communicating with one or more APs of the location system has a corresponding identifier and communicating AP identifier stored in the database. The database may be updated based on the determined location of the BLE device and the AP(s) that received the most receive broadcast advertisement from the BLE device, and so forth.

At block <NUM>, the method <NUM> comprises identifying or detecting the AP communicating with the BLE device at a first or default transmission power level, where the first transmission power level results in a single or a minimum number of APs receiving advertisements from the BLE device.

At block <NUM>, the method <NUM> comprises the controller generating instructions to the BLE device (via the AP communicating with the BLE device) to incrementally increase a transmission power level of the BLE device and rebroadcast advertisements until a threshold number of APs receives the advertisements broadcast by the BLE device. In some embodiments, the controller instructs the BLE device to incrementally increase the transmission power level until the RSSI for each of the received advertisements meets a threshold RSSI. In some embodiments, the BLE device goes through one or more iterations of incrementing the transmission power level.

At block <NUM>, the method <NUM> comprises the controller transmitting the instructions to the AP(s) communicating with the BLE device, which transmit(s) corresponding instructions to the BLE device. In some embodiments, the blocks <NUM> and <NUM> are repeated until the threshold number of APs or the threshold RSSI for the threshold number of APs is met.

At block <NUM>, the method <NUM> comprises, once the threshold number of APs or the threshold number of APs and the threshold RSSI are met, the controller receiving the RSSI values (or corresponding timing values) from each of the threshold number of APs to determine the location of the BLE device.

At block <NUM>, the method <NUM> comprises computing the location of the BLE device by one or more of the controller, the APs, and so forth. The controller then reports the computed location to the requesting user, the BLE device, the APs, or so forth.

In the current disclosure, reference is made to various embodiments. However, the scope of the present disclosure is not limited to specific described embodiments. Instead, any combination of the described features and elements, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Additionally, when elements of the embodiments are described in the form of "at least one of A and B," it will be understood that embodiments including element A exclusively, including element B exclusively, and including element A and B are each contemplated. Furthermore, although some embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether a particular advantage is achieved by a given embodiment is not limiting of the scope of the present disclosure. Thus, the aspects, features, embodiments and advantages disclosed herein are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to "the invention" shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered an element or limitation of the appended claims except where explicitly recited in a claim(s).

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the foregoing.

Claim 1:
A method (<NUM>), at a wireless controller (<NUM>, <NUM>), the method comprising:
receiving (<NUM>) an identifier for a Bluetooth Low Energy, BLE, device (<NUM>, <NUM>) to locate in an environment comprising a plurality of access points ,APs, (<NUM>, <NUM>);
identifying (<NUM>) a first AP (106a, 206a) of the plurality of APs communicating with the BLE device at a first power level;
until a threshold number of APs of the plurality of APs (106b-h, 206b-h), including the first AP, receive communications (110a-h, 210a-h, 410a-h) from the BLE device, instructing (<NUM>), using the first AP, the BLE device to increase the transmission power level of the BLE device;
receiving (<NUM>) a received signal strength indicator, RSSI, value from each of the threshold number of APs based on the communications from the BLE device; and
computing (<NUM>) a location of the BLE device in the environment based on the RSSI values.