METHOD AND APPARATUS FOR RAPID LOCATION OF DATA ACQUISITION DEVICES
20230273289 · 2023-08-31
Inventors
- Taylor VEITH (Port Saint Lucie, FL, US)
- Paul M. KAVANAUGH (Addison, TX, US)
- Richard R. HEGEDUS (Dallas, TX, US)
Cpc classification
G01S5/145
PHYSICS
International classification
G01S5/14
PHYSICS
G01S5/00
PHYSICS
Abstract
A method and apparatus for locating a beacon in physical space, where the beacon communicates with at least one of a plurality of gateways in the physical space. First signals are transmitted between gateways located at respective physical locations. Gateway-to-gateway measurements of power related to the first signals are stored. The gateway-to-gateway measurements are averaged to obtain averaged gateway-to-gateway measurements. Second signals are transmitted between a beacon and one or more of the gateways. Beacon-to-gateway measurements of power related to the second signals are stored. The beacon-to-gateway measurements are averaged to obtain averaged beacon-to-gateway measurements. First distances between the beacon and the gateways are calculated based on the averaged gateway-to-gateway measurements and the averaged beacon-to-gateway measurements. Second distances are calculated based on at least ones of the averaged beacon to gateway measurements and an expected measurement of power related to the beacon. Position of the beacon is determined based on the second distances. The position of the beacon is transmitted so that the position is subsequently displayed.
Claims
1. A method for locating a physical position of a beacon in physical space, wherein the beacon communicates with at least one of a plurality of gateways in the physical space, the method comprising the steps of: transmitting first signals between gateways located at respective physical locations; storing gateway-to-gateway measurements of power related to the first signals; averaging the gateway-to-gateway measurements to obtain averaged gateway-to-gateway measurements; transmitting second signals between the beacon and one or more of the gateways; storing beacon-to-gateway measurements of power related to the second signals; averaging the beacon-to-gateway measurements to obtain averaged beacon-to-gateway measurements; calculating first distances between the beacon and the gateways based on the averaged gateway-to-gateway measurements and the averaged beacon-to-gateway measurements; calculating second distances based on at least ones of the averaged beacon to gateway measurements and an expected measurement of power related to the beacon; determining and storing the position of the beacon based on the second distances; transmitting the position of the beacon so that the position is subsequently displayed.
2. The method of locating a beacon in physical space according to claim 1, wherein the beacon is associated with a sensor for measuring an environmental related parameter.
3. The method of locating a beacon in physical space according to claim 1, wherein the first distances are Euclidean distances.
4. The method of locating a beacon in physical space according to claim 1, wherein the second distances are based on log distance propagation model.
5. The method of locating a beacon in physical space according to claim 1, wherein the position is displayed with the environmentally related parameter acquired by the sensor.
6. The method of locating a beacon in physical space according to claim 1, wherein the averaged gateway-to-gateway measurements are each a median.
7. The method of locating a beacon in physical space according to claim 1, wherein the averaged beacon-to-gateway measurements are each a mean.
8. The method of locating a beacon in physical space according to claim 1, wherein the gateway-to-gateway measurements of power that are stored are expected measurements of power at a distance from each of the gateways.
9. The method of locating a beacon in physical space according to claim 1, wherein the Euclidean distances are used to determine which of the averaged beacon-to-gateway measurements are used for calculating the second distances.
10. The method of locating a beacon in physical space according to claim 1, wherein at least one of: a) the gateway-to-gateway measurements; or b) the beacon-to-gateway measurements are normalized with each other prior to the averaging of the gateway-to-gateway measurements or prior to the averaging of the beacon-to-gateway measurements.
11. The method of locating a beacon in physical space according to claim 1, wherein the position of the beacon is a first position that is transmitted, the beacon is moved, and the position of the beacon is a second position that is transmitted, the second position different than the first position.
12. An apparatus for locating a beacon in physical space, wherein the beacon communicates with at least one of a plurality of gateways in the physical space, the apparatus comprising: a memory for storing a position of the beacon; and at least one processor for: storing gateway-to-gateway measurements of power related to first signals transmitted between gateways located at respective physical locations; averaging the gateway-to-gateway measurements to obtain averaged gateway-to-gateway measurements; storing beacon-to-gateway measurements of power related to second signals transmitted between a beacon and one or more of the gateways; averaging the beacon-to-gateway measurements to obtain averaged beacon-to-gateway measurements; calculating first distances between the beacon and the gateways based on the averaged gateway-to-gateway measurements and the averaged beacon-to-gateway measurements; calculating second distances based on at least ones of the averaged beacon to gateway measurements and an expected measurement of power related to the beacon; and determining and storing the position of the beacon based on the second distances.
13. The apparatus for locating a beacon in physical space according to claim 12, wherein the beacon is associated with a sensor for measuring an environmental related parameter.
14. The apparatus for locating a beacon in physical space according to claim 12, wherein the first distances are Euclidean distances.
15. The apparatus for locating a beacon in physical space according to claim 12, wherein the second distances are based on log distance propagation model.
16. The apparatus for locating a beacon in physical space according to claim 12, wherein the position is displayed with the environmentally related parameter acquired by the sensor.
17. The apparatus for locating a beacon in physical space according to claim 12, wherein the averaged gateway-to-gateway measurements are each a median.
18. The apparatus for locating a beacon in physical space according to claim 12, wherein the averaged beacon-to-gateway measurements are each a mean.
19. The apparatus for locating a beacon in physical space according to claim 12, wherein the gateway-to-gateway measurements of power that are stored are expected measurements of power at a distance from each of the gateways.
20. The apparatus for locating a beacon in physical space according to claim 12, wherein the Euclidean distances are used to determine which of the averaged beacon-to-gateway measurements are used for calculating the second distances.
21. The apparatus for locating a beacon in physical space according to claim 12, wherein at least one of: a) the gateway-to-gateway measurements; or b) the beacon-to-gateway measurements are normalized with each other prior to the averaging of the gateway-to-gateway measurements or prior to the averaging of the beacon-to-gateway measurements.
22. The apparatus for locating a beacon in physical space according to claim 12, wherein the position of the beacon is a first position that is transmitted, the beacon is moved, and the position of the beacon is a second position that is transmitted, the second position different than the first position.
23. The apparatus for locating a beacon in physical space according to claim 12, wherein the apparatus comprises a gateway, a beacon, a computing device, or any combination thereof.
Description
BRIEF DESCRIPTION OF THE DRAWING
[0033] The disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawing. It is emphasized that, according to common practice, the various features of the drawing are not necessarily to scale. On the contrary, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. Like numerals denote like features throughout the specification and the drawing.
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
DETAILED DESCRIPTION
[0042] It should be understood that the phraseology and terminology used below for the purpose of description and should not be regarded as limiting. The use herein of the terms “comprising,” “including,” “having,” “containing,” and variations thereof are meant to encompass the structures and features recited thereafter and equivalents thereof as well as additional structures and features. Unless specified or limited otherwise, the terms “attached,” “mounted,” “affixed,” “connected,” “supported,” “coupled,” and variations thereof are used broadly and encompass both direct and indirect forms of the same. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.
[0043]
[0044] The primary purpose of beacon 150 is to generate and transmit (broadcast) environmental or other data that represents the state of some measurement in the vicinity of the beacon 150. Beacon 150 can be a hardware device that transmits various data including, but not limited to temperature, humidity, time, altitude, location, or even empty packets, using a hardware radio and either an internal or external antenna, with the intent that the data will be received by another device (such as a gateway, mobile phone, computer, or another beacon).
[0045] In one exemplary embodiment, environment 102 may include numerous beacons 150 with respective identification values such as Beacon 001, Beacon 002 and Beacon X. Each beacon 150 is associated with a respective sensor 151 that monitors physical and/or process characteristics. Sensor 151 includes environmental sensors (heat, light, humidity, etc.) characteristics of a particular machine or person (vibration, noise, speed, acceleration, physiological characteristics, etc.) process sensors (to what extent have specific processes been completed and/or a simple “yes/no” as to whether a process has been complete), or other types of sensors. Each sensor 151 is monitoring one or more aspects of an environment (and/or the items therein). Thus, various people, objects, or environments (not shown in
[0046] The primary purpose of gateway 160 is to receive broadcasted data and then transmit it to a device further up the network, such as a server. Gateway 160 can be any device that receives data from other devices (e.g., beacons), either over a wire or wirelessly, using an internal or external antenna, and then transmits that data (which may first be transformed, contextualized, or aggregated by the gateway) over a network to a server that may be either local or remote. During normal operation, a gateway may operate as a beacon, in that it can generate and transmit its own data for other gateways to receive. A gateway that operates as a beacon can be a standalone device, built to operate as a gateway, or a mobile device such as a phone or tablet running software to perform typical gateway and beacon operations.
[0047] Beacons 150 and gateways 160 may be part of one or more networks in order to facilitate transfer of sensor data. Sensor data may be transmitted from beacon(s) 150 to gateway(s) 160 at regular intervals, at changing intervals, responsive to a signal received from gateway 160, when a beacon is activated by a sensor 151 detecting a characteristic which results in subsequent activation of beacon 150, etc.
[0048] In one example, beacon 150 transmits temperature measured by sensor 151. The temperature may be temperature internal to an asset, the temperature of a manufacturing chamber in which an asset is affecting the environment of the manufacturing chamber, completion of a manufacturing step by one or more assets, completion of an interim manufacturing step by one or more assets, or some other aspect of an asset including vibration, injection, current, voltage, power, etc. In another example, sensor 151 is not associated with a specific asset (e.g., it measures temperature in a room) and beacon 150 transmits the temperature measured by sensor 151 within the room. In another example, sensor data that is transmitted by beacon 150 is used to identify the location of sensor 151 and/or location of an asset associated with sensor 151 (e.g. moving sensor 151 and its associated asset a greater distance than is permitted, moving sensor 151 and its associated asset at a greater speed than it is permitted, moving sensor 151 and its associated asset so that the associated asset is unacceptably close to another asset, something potentially harmful, a human being, etc.).
[0049] Beacon 150 transmits data that is received by gateway 160. In one embodiment, a single gateway 160 may be included for receiving data from beacon 150. In another example, a plurality of gateways 160 are used and beacon 150 communicates with one or more of multiple gateways 160. When beacon 150 communicates with a plurality of gateways 160, the plurality of gateways 160 may have one or more functions. In one example, beacon 150 communicates with one gateway 160 that has the strongest signal with beacon 150. In another example, communication with beacon 150 may be based on physical proximity of beacon 150 and gateway 160. In another example, beacon 150 may be within a specific area associated with gateway 160. In another example, multiple gateways 160 acquire the signal from beacon 150 in order to identify the location of beacon 150.
[0050] Beacon 150 may communicate with gateway 160 using a variety of different signaling protocols that are known to one of ordinary skill in the art including Wi-Fi, Bluetooth, cellular, NFC, optical signaling, audio, etc. Communication may occur using one or more protocols that are known to one of ordinary skill in the art including iBeacon, Eddystone, etc. In another example, the signal strength of signals received by multiple gateways 160 is triangulated in order to identify the location of module 150. Further examples of location identification may be used such as GPS, RFID, etc.
[0051] The data that is transmitted by each beacon 150 is received by one or more gateways 160. A subsequent transmission occurs from one or more gateways 160 to acquisition module 104. In one example, gateway 160 simply passes along one or more sensor data values that it has received from beacon 150. In another example, gateway 160 separately, alternately, or in addition transmits information associated with the signal that gateway 160 receives from beacon 150. One such characteristic is signal strength. Another such characteristic is location data.
[0052] Acquisition module 104 comprises one or more interfaces. Each interface is specifically configured for capturing data from a particular type of sensor 151 associated with the interface. In an exemplary embodiment, the acquisition module 104 preprocesses the sensor data (preliminary aggregation of the sensor data) it receives from each gateway 160 and transmits the preprocessed data to a processing engine 106 having a location processor 106.sub.P for determining the location of a beacon 150 and a user interface 106.sub.I. In another exemplary embodiment, the acquisition module 104 determines the location of each beacon from which it has received data. In another exemplary embodiment, the receiving gateway preprocesses the sensor data and the acquisition module 104 aggregates data. Processing engine 106 uses the data received from acquisition module 104 in combination with various tables to take corrective action to assets and/or to provide further data. Exemplary tables (trigger data files) are included in trigger data database 108 and are further described below.
[0053] In an exemplary embodiment, the acquisition module 104, processing engine 106, and trigger data database 108 can be located remote from the environment 102 and accessible via the Internet or other network. In another embodiment, the acquisition module 104, processing engine 106, and trigger data database 108 can be located in the environment 102. In still another embodiment, one or more of the acquisition module 104, processing engine 106, and trigger data database 108 can be located remote from the environment 102 and accessible via Internet or other network, while the other one or more of the acquisition module 104, processing engine 106, and trigger data database 108 can be located in the environment 102. For example, the acquisition module 104 can be located in the environment 102 and the processing engine 106 and trigger data database 108 can be located remote from the environment 102 and accessible via the Internet or other network. In another example, the acquisition module 104 and processing engine 106 can be located in the environment 102 while the trigger data database 108 can be located remote from the environment 102 and accessible via the Internet or other network.
[0054] Trigger alerts, status of sensors, status of assets, status of processes or other data that is generated by processing engine 106 is forwarded to end terminal transceiver 110. End terminal transceiver may be provided with instructions (e.g., identification of an end terminal) to receive the output of processing engine 106. End terminal transceiver 110 then forwards processed data to end terminal 112.
[0055]
[0056] During actual operation, beacons are located in map area 203. An exemplary beacon 205 is illustrated in
[0057] Gateways 201.sub.A-E transmit signals and one or more gateways 201.sub.A-E may receive a gateway transmitted signal. Thus, gateways 201.sub.A-E send signals to each other. Each sending gateway 201.sub.A-E transmits a signal, and any gateways 201.sub.A-E within reception range of the transmitted signal may receive the transmitted signal. When one of the gateways 201.sub.A-E. receives a signal from one of the gateways 201A-E or beacon 205, that gateway 201.sub.A-E processes the received signal to determine or measure a Received Signal Strength Indicator (RSSI) associated with the received signal and stores the RSSI. When a beacon 205 sends out a packet of information, the RSSI is a measurement that indicates the strength of the signal received by the gateway 201.sub.A-E. The further away the beacon 205 is from a gateway 201.sub.A-E, the weaker the signal. The closer a beacon is to a gateway 201.sub.A-E, the stronger the signal.
[0058] RSSI is known in the art. RSSI is further described in Wikipedia by searching under “Received Signal Strength Indication.”
[0059] Referring still to
[0060] As an example, gateway 201.sub.D transmits a signal, and the transmitted signal is received by gateway 201.sub.B, gateway 201c, and gateway 201.sub.E. The following information may then be stored (at one of several possible locations): timestamp indicating when the signal was received, sending gateway, recipient gateway, RSSI. In this example, no data is stored for gateway 201.sub.A, as gateway 201.sub.A did not receive the signal transmitted from gateway 201.sub.D.
[0061]
[0062]
[0063] At step 310, each gateway 201.sub.A-E transmits and receives signals. At step 320, the RSSIs associated with the signals received at each gateway 201.sub.A-E are measured by the receiving gateway 201.sub.A-E and the respective RSSI values are stored in the receiving gateway 201.sub.A-E. At step 330, the RSSI values for the received signals are converted to expected RSSI values (RSSI.sub.NEW) by the receiving gateway 201.sub.A-E based on “Measured Power” (defined below). At step 340, for each gateway-to-gateway pair, the mean of RSSI.sub.NEW (i.e., RSSI.sub..Math.) is calculated. At step 350, signals are received from beacon 205 to gateways 201.sub.A-E over time. The RSSI values for beacon-to-gateway transmission are stored and the median is determined (i.e., RSSI.sub.Med). In some exemplary embodiments, the receiving gateways 201.sub.A-E transmit the RSSIs to the acquisition module 104 and the processing engine 106 of
[0064] A more detailed explanation of the flow chart diagram of
[0065] As described above, in step 310, each gateway 201.sub.A-E transmits and attempts to receive signals from other gateways 201.sub.A-E. At step 320, the RSSIs for gateway-to-gateway transmissions are measured by each receiving gateway 201.sub.A-E (i.e., measurements of power related to transmitted signals). As explained above, in some situations a transmission from one gateway to another gateway may not be received. Each RSSI measured by the receiving gateway 201.sub.A-E may be referred to as RSSI.sub.G (or RSSI sub G, or RSSI Gateway) and is stored in the receiving gateway 201.sub.A-E. At step 330, each RSSI.sub.G is converted to the expected RSSI for the Measured Power of each beacon by the receiving gateway 201.sub.A-E (i.e., measurements of power related to transmitted signals). Measured Power (MP) is the RSSI value that is “expected” at a distance of 1 meter (for example) from each beacon 205. The term “expected” refers to a theoretical value under perfect conditions. In practice, each gateway 201.sub.A-E is subject to a potentially large amount of interference that affects signal strength. Thus, even if a beacon is 1 meter from a gateway and stays stationary, for the period during which RSSI values are measured and collected, the values actually measured and collected will fluctuate. The expected RSSI may be referred to as RSSI.sub.NEW (or RSSI sub NEW).
[0066] In other words, if the MP is increased, then RSSI is expected to be stronger at 1 meter from gateway. If a beacon’s MP is decreased, then the RSSI is expected to be weaker at 1 meter from the gateway.
[0067] Thus, the receiving gateway 201.sub.A-E converts the RSSI gateway values to RSSI.sub.NEW values for each beacon 205. If the Measured Power is the same, the RSSI values will remain unchanged. In other words, If MP.sub.G = MP.sub.B then RSSI.sub.G will not change. Since the Measured Power is the same, the RSSI values are already imitating the expected RSSI values of the beacon vs the gateway. This can be proven in the conversion formula by assuming that the MP for both beacon and gateway are equal. This will result in RSSI.sub.New being the same as RSSI.sub.G.
[0068] The conversion is accomplished based on the Measured Power of each gateway 201.sub.A-E, the Measured Power of each beacon 205, and optional environmental factors (such as factors related to interference). The Measured Power of each gateway 201.sub.A-E and the Measured Power of each beacon 205 may be obtained by actually measuring power transmitted from each gateway 201.sub.A-E and each beacon 205 at a distance of 1 meter from each. In making the calculation, an environmental factor can be applied that relates to the gateway 201.sub.A-E and an environmental factor can be applied that relates to the beacon 205. The environmental factors can include various forms of interference, such as: walls, machinery, human foot traffic, high humidity, electromagnetic interference, etc. In one non-limiting embodiment, the value of an environmental factor can be 0.95, 1 (no interference), 1.05 (some interference), etc. The environmental factors can be empirically obtained (i.e. by real world experimentation and experience). The following variables and equation may be used to calculate RSSI.sub.NEW: [0069] MP.sub.G – Measured Power Gateway [0070] MP.sub.B – Measured Power Beacon [0071] N.sub.G – Environmental Factor Gateway [0072] N.sub.B – Environmental Factor Beacon [0073] RSSI.sub.G – RSSI Gateway
[0074] RSSI.sub.NEW values are calculated and stored over time by each gateway 201.sub.A-E. Exemplary RSSI.sub.NEW values are illustrated in the data structure illustrated in
[0075] Referring again to
[0076] Based on the exemplary data in the data structure illustrated in
[0077] A gateway pair with no observations (excluding a gateway to itself), can result in a RSSI.Math. value of, for example, -110. The RSSI.Math. value “-110” is selected empirically. In particular, various values are tried and the RSSI.Math. value “-110” is found to be optimal. If the lowest an RSSI value is, for example, -99, if the signal did reach a gateway, then a value of -110 is selected to numerically represent an RSSI.Math. value that did not reach a gateway. Any gateway to itself is given an RSSI.Math. value of, for example, -43. The RSSI.Math. value “-43” is also selected empirically through trial and error. For example, if a beacon is adjacent (right next to) a gateway (0 meters between the gateway and beacon) then the RSSI value can be approximately “-43”. These values are exemplary and may be modified based on further research. Specifically, the RSSI.Math. value -110 can be modified if a better RSSI.Math. value is determined to represent an RSSI value that “did not reach the gateway” and the RSSI.Math. value -43 can be modified if stronger beacons are used (in that case the RSSI.Math. value would be raised) or weaker beacons are used (in that case the RSSI.Math. value would be lowered).
[0078] For example, if gateway 201.sub.A sends out 10 signals in a designated period and 7 of the 10 signals actually reach gateway 201.sub.B, the mean value of gateway 201.sub.B receiving signals from gateway 201.sub.A would be the sum of the 7 stored RSSI values plus 3 x -110 divided by 10 (“3 x -110” because 3 signals did not reach gateway 201.sub.B in the example).
[0079] Since a gateway will never receive its own signal, the stored RSSI.sub..Math. value can be -43 for the gateway to itself (gateway 201.sub.A to gateway 201.sub.A, gateway 201.sub.B to gateway 201.sub.B, etc.). The -43 value and values similar to this such as -30, -41, -47 and the like, indicates that this value is gateway’s own signal.
[0080] The RSSI.sub..Math. for each gateway/gateway pair is then stored. An example of a table storing this data appears in the data structure illustrated in
[0081] Referring to step 350 of
[0082] The beacon to gateway signals are recorded over a short period of time (typically, but not limited to a period of 30 seconds to 5 minutes). From these stored RSSI values for each receiving gateway 201.sub.A-E from the beacon 205 (or from each beacon if there are multiple beacons), the median (average) RSSI.sub.Med is calculated.
[0083] Received Values (ordered Lowest to Highest) = [RSSI.sub.0, RSSI.sub.1, RSSI.sub.2, RSSI.sub.3, RSSI.sub.4] => RSSI.sub.Med = RSSI.sub.2.
[0084] At step 350, for each receiving gateway 201.sub.A-.sub.E in the map area 203 of the beacon 205 of interest, the RSSI.sub.Med is stored in that gateway. In the example above RSSI.sub.2 is stored. This value is compared to the aggregate converted RSSI values from the gateway pairs (RSSI.sub..Math.), as described in detail below.
[0085] Referring now to step 360 of
[0086] An example of the calculation performed in step 360 of
[0087] Now assume that beacon 205 sends signals to gateways 201.sub.A and 201.sub.B. The median value of the RSSI signals (RSSI.sub.MED) gateway 201.sub.A received from beacon 205 is -55, and the median value of the RSSI signals (RSSI.sub.MED) gateway 201.sub.B received from beacon 205 is -68. From knowledge of RSSI values, a person of ordinary skill in the art already knows that beacon 205 is closer to gateway 201.sub.A than to gateway 201.sub.B, but this fact can also be shown mathematically.
[0088] The Euclidean Distance Formula is as follows:
where i is the number of gateways ranging from 1 to m stored values in the map area 203. D.sub.j is sorted in ascending order.
[0089] Plugging in the above hypothetical values, the following distances are obtained:
[0090] As can be seen, the assumption that would be made by a person of ordinary skill in the art can be demonstrated mathematically. The Euclidean Distance from comparing values shows that the beacon 205 is closer to gateway (reference point) 201.sub.A.
[0091] The reference points (gateways 201.sub.A-E) with the “m” lowest values for D.sub.j are then selected (“m” is arbitrary; in the exemplary embodiment above, 2 values are selected, in other embodiments more than 2 values may be selected).
[0092] In step 370, the RSSI.sub.MED values and (x,y) coordinates are referenced from the “m” (e.g. 2) selected gateways 201.sub.A and 201.sub.B. Estimated physical distance, d, is calculated for each gateway 201.sub.A and 201.sub.B using the log distance propagation model:
where 10 is in dBs (decibels), MP is the measured power in dBms (decibel-milliwatts) of the beacon and N is a constant depending on environmental factors.
[0093] From the example above using gateway 201.sub.A and gateway 201.sub.B. Gateway 201.sub.A median (RSSI.sub.MED) can be -55 and gateway 201.sub.B median can be -68. If MP is -70 dBm, N is 1, and the median values -55 and -68 are used in the formula above the resulting distances are: [0094] d of 201.sub.A = 0.2511 meters [0095] d of 201.sub.B = 0.5012 meters
[0096] Next in step 380 of
[0097] The calculation will now be performed as an example. Assume the degree g is 1 for simplicity purposes. [0098] W of 201.sub.A = 1 / 0.2511 = 3.9825 [0099] W of 201.sub.B = 1 / 0.5012 = 1.9952
[0100] In step 390 of
[0101] The final estimated location is thus (x.sub.w, y.sub.w).
[0102] For example, assume that gateway 201.sub.A is at coordinates (10, 50) and gateway 201.sub.B is at coordinates (20, 30).
Final estimated coordinates of beacon 205: (13.34, 43.32)
[0103] The above examples have included the use of RSSI, but it is understood that other data may be used in addition to or in place of RSSI to perform calculations for determining beacon position. Such alternative data may be used to determine distance between gateways and/or between gateways and beacons. One example of an alternative to RSSI is to use received channel power indicator (RCPI). It is understood to a person of ordinary skill in the art that the use of RSSI is merely exemplary.
[0104] The present disclosure thus achieves numerous technical improvements over the prior art. For example, in some prior art symptoms, locating the position of a beacon-like device (by itself or associated with one or more sensors) could be a relatively slow process. In some systems, identifying the location of a beacon-like device could be delayed for an undesirable time period. An exemplary unacceptable time period could be 30 seconds. In any system in which knowing the location of such beacon-like devices is either desirable or important, a delay in identifying the position may be unacceptable. Such a disadvantageous situation may be compounded in a system in which multiple beacon-like devices are present. If it is desirable or important for location of multiple ones (or all) of these beacon-like devices to be known in real time, the delays in determining location of those devices can compound problems.
[0105] Part of the need for real-time identification of beacon-like device locations derives from the fact that beacon like devices may be movable, and/or beacon-like devices are associated with sensors and/or equipment that is movable. When such beacon-like devices (with or without the associated sensors or equipment) are moved, the devices transition from being in a known location to being in an unknown location - until the new location has been determined.
[0106] In some situations, for example, knowing the location of beacon-like devices in real-time can be critical. One example where such criticality may be important is an emergency health care setting in which such beacon-like devices are associated with life saving equipment. If a patient were to go into cardiac arrest for example, a 30 second delay in identifying the location of a defibrillator would be unacceptable. Another example would be a manufacturing facility in which one piece of equipment is used with a material that is considered a contaminant to a segregated area of a production facility. An example would be a food production facility in which allergens (wheat, peanuts, soy, etc.) must be segregated from allergen-free production areas. If that piece of equipment used with an allergen were to inadvertently be moved to a zone designated as being allergen free, the repositioning is desirably identified as quickly as possible to minimize contamination (and minimize subsequent remediation).
[0107] The present disclosure that provides the ability to identify location of such beacon-like devices in real time. By significantly reducing the delay in identifying a changed location to a beacon-like device, the above desirable advantages are achieved. In addition, the above-described features of the disclosure enable the location of a repositioned beacon-like device to be identified with desirable accuracy concurrently with location information being provided in real time.
[0108] Another technical improvement achieved by the present disclosure is that fact that location of beacon-like devices can be achieved in real time without the need to modify, replace, or add to hardware that is found in many location identification systems. Some current systems may thus be eligible for software upgrades that enable location identification of beacon-like devices to be achieved in real time.
[0109] In an exemplary embodiment of the present disclosure, a computer system may be included and/or operated within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0110] The exemplary computer system includes a processing device, a main memory (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) (such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device, which communicate with each other via a bus.
[0111] The processing device represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device may be complex instruction set computing (CISC) microprocessor, reduced instruction set computer (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processing device is configured to execute listings manager logic for performing the operations and steps discussed herein.
[0112] The computer system may further include a network interface device. The computer system also may include a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device (e.g., a keyboard), a cursor control device (e.g., a mouse), and a signal generation device (e.g., a speaker).
[0113] The data storage device may include a machine-readable storage medium (or more specifically a computer-readable storage medium) having one or more sets of instructions (e.g., reference generation module) embodying any one or more of the methodologies of functions described herein. The reference generation module may also reside, completely or at least partially, within main memory and/or within processing device during execution thereof by computer system; main memory and processing device also constituting machine-readable storage media. The reference generation module may further be transmitted or received over a network via network interface device.
[0114] The machine-readable storage medium may also be used to store the device queue manager logic persistently. While a non-transitory machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the term “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instruction for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present disclosure. The term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
[0115] The components and other features described herein can be implemented as discrete hardware components or integrated in the functionality of hardware components such as ASICs, FPGAs, DSPs or similar devices. In addition, these components can be implemented as firmware or functional circuitry within hardware devices. Further, these components can be implemented in any combination of hardware devices and software components.
[0116] Some portions of the detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0117] Various exemplary embodiments are described above. It is understood that exemplary embodiments (or portions thereof) described above may be combined without limitation to yield further exemplary embodiments of the present disclosure.
[0118] The above examples include transmitting data between devices (such as between gateways and beacons). It is understood that devices such as gateways may be receiving data from respective servers, and it is contemplated that transmitting data may be accomplished by transmitting data to/from one or more of the respective servers.
[0119] In the aforementioned description, numerous details are set forth. It will be apparent, however, to one skilled in the art, that the disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the disclosure.
[0120] The apparatus for performing the operations described herein can comprise a gateway, beacon, and/or one or more remotely located or locally located computing devices such as one or more servers (processing engine 106 of
[0121] Whereas many alterations and modifications of the disclosure will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that any particular implementation shown and described by way of illustration is in no way intended to be considered limiting. Therefore, references to details of various implementations are not intended to limit the scope of the claims, which in themselves recite only those features regarded as the disclosure.