The present disclosure relates to location determination and more particularly to location determination of devices associated with other devices or sensors. Specifically, a method and apparatus are disclosed for rapidly identifying the location of beacons in a gateway occupied system.
In any observed system, a plurality of physical components perform various functions. One type of component affects physical characteristics of an environment, such as light, heat, cooling, humidity, etc. Another type of component is associated with a manufacturing process, and may include devices that provide mechanical force, transport raw ingredients, modify environmental factors as a product is being produced, etc. A third type of component may be related to a transportation system, and may include devices that propel or channel transport units between multiple locations. A fourth type of component may relate to a healthcare environment and may include devices that affect environmental attributes (temperature, humidity, etc.), devices that monitor patients (heart monitors, oxidation monitors, etc.), and devices associated with the performing of medical procedures (surgical tools, diagnostics tools, etc.). A fifth type of component may monitor process progress and provide data associated with how far a process has proceeded and/or whether or not process completion has occurred.
The physical devices situated in such systems are subject to operational changes. Some such changes may be deliberate, some such changes may occur in response to environmental factors, and some such changes may be undesirable. Examples of operational changes include: device defect, partial or complete device failure, repairing a defective part, adjusting control of a physical device, replacing, eliminating or adding a physical device, changing a process partially or completely, changing an environment.
When physical devices change in their operation, the output of the physical devices may change, and there may be a consequential result. For example, if a heating unit malfunctions, environmental temperature may subsequently change. In one scenario, a human being becomes aware of the temperature fluctuation because they “feel cold” and then the cause of the change will be investigated. In another situation, a sensor such as a temperature gauge may be consulted to determine the extent of temperature change. In either case, the simplicity of the problem may result in the identification of the problem at least at a very basic level (“the heater is not working”) so that further diagnostics may occur.
In a commercial, industrial, or healthcare setting (for example), monitoring and subsequent interaction may be more sophisticated than a person simply becoming aware that something is “not right.” In a hospital or a manufacturing facility, for example, various sensors may be active with sensor results provided to a monitoring station. When an audible or visible alarm is activated at the monitoring station (or a measurement is conveyed that may be indicative or a problematic situation), a designated person can note the alarm (and/or conveyed measurement) and provide instructions for taking or initiating corrective action. In a hospital’s cardiac department, for example, a remote heart monitor can provide data that indicates a patient requires defibrillation. In a nuclear power plant, a remote temperature monitor can indicate that a nuclear reaction has become “runaway” and rods need to be inserted into the power plant’s core.
U.S. Pat. Application No. 17/951,678, which is assigned to Thinaer, Inc., the Assignee herein, describes a data acquisition management system and method. The aforementioned system and method relates to the use of beacons that provide data to gateways. The data that a beacon provides to one or more gateways may include the location of a respective beacon and/or sensor data (e.g., sensor data from a sensor associated with a beacon). The location may be in absolute terms on a map or in relative terms relative to another location. The sensor data may be environmental data (e.g. temperature, humidity, pressure) or it may be logical data (e.g. whether or not one or more portions of a process have been completed).
Methods for determining beacon location are known, however, those known methods may require time for the beacon location to be determined. For example, using some methods for determining beacon location, beacon location determination may take 30 or more seconds to complete. Thus, a beacon (attached to a critical object) may be moved, and information about where that beacon has been moved to may not be available to a remote observer for the processing time consumed to determine the new location. In the above example, 30 or more seconds pass before the remote observer is able to see the new location. For a high value asset, 30 or more seconds to identify where a beacon has been moved to may be unacceptable. If the asset has high financial value (expensive jewelry), then a 30 or more second delay (before location of a stolen asset may be available) may be unacceptable. If the asset has high lifesaving a value (lifesaving equipment in a hospital setting), then again a 30 or more second delay (before location of lifesaving equipment becomes available) may be unacceptable.
Therefore, it is desirable for the location of a beacon to be determined at a faster rate than what can be achieved using existing methods.
Described herein is 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. In various embodiment, the method comprises: 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; and transmitting the position of the beacon so that the position is subsequently displayed.
In some embodiments of the method, the beacon is associated with a sensor for measuring an environmental related parameter.
In some embodiments of the method, the first distances are Euclidean distances.
In some embodiments of the method, the second distances are based on log distance propagation model.
In some embodiments of the method, the position is displayed with the environmentally related parameter acquired by the sensor.
In some embodiments of the method, the averaged gateway-to-gateway measurements are each a median.
In some embodiments of the method, the averaged beacon-to-gateway measurements are each a mean.
In some embodiments of the method, the gateway-to-gateway measurements of power that are stored are expected measurements of power at a distance from each of the gateways.
In some embodiments of the method, the Euclidean distances are used to determine which of the averaged beacon-to-gateway measurements are used for calculating the second distances.
In some embodiments of the method, 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.
In some embodiments of the method, 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.
Further described herein is 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. In various embodiments, the apparatus comprises: a memory for storing a position of the beacon and at least one processor. The memory and the at least one processor are provided 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.
In some embodiments of the apparatus, the beacon is associated with a sensor for measuring an environmental related parameter.
In some embodiments of the apparatus, the first distances are Euclidean distances.
In some embodiments of the apparatus, the second distances are based on log distance propagation model.
In some embodiments of the apparatus, the position is displayed with the environmentally related parameter acquired by the sensor.
In some embodiments of the apparatus, the averaged gateway-to-gateway measurements are each a median.
In some embodiments of the apparatus, the averaged beacon-to-gateway measurements are each a mean.
In some embodiments of the apparatus, the gateway-to-gateway measurements of power that are stored are expected measurements of power at a distance from each of the gateways.
In some embodiments of the apparatus, the Euclidean distances are used to determine which of the averaged beacon-to-gateway measurements are used for calculating the second distances.
In some embodiments of the apparatus, 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.
In some embodiments of the apparatus, 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.
In some embodiments of the apparatus, the apparatus comprises a gateway, a beacon, a remote computing device, or any combination thereof.
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.
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.
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).
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
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.
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.
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.).
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.
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.
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.
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 106P for determining the location of a beacon 150 and a user interface 106I. 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.
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.
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.
During actual operation, beacons are located in map area 203. An exemplary beacon 205 is illustrated in
Gateways 201A-E transmit signals and one or more gateways 201A-E may receive a gateway transmitted signal. Thus, gateways 201A-E send signals to each other. Each sending gateway 201A-E transmits a signal, and any gateways 201A-E within reception range of the transmitted signal may receive the transmitted signal. When one of the gateways 201A-E. receives a signal from one of the gateways 201A-E or beacon 205, that gateway 201A-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 201A-E. The further away the beacon 205 is from a gateway 201A-E, the weaker the signal. The closer a beacon is to a gateway 201A-E, the stronger the signal.
RSSI is known in the art. RSSI is further described in Wikipedia by searching under “Received Signal Strength Indication.”
Referring still to
As an example, gateway 201D transmits a signal, and the transmitted signal is received by gateway 201B, gateway 201c, and gateway 201E. 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 201A, as gateway 201A did not receive the signal transmitted from gateway 201D.
At step 310, each gateway 201A-E transmits and receives signals. At step 320, the RSSIs associated with the signals received at each gateway 201A-E are measured by the receiving gateway 201A-E and the respective RSSI values are stored in the receiving gateway 201A-E. At step 330, the RSSI values for the received signals are converted to expected RSSI values (RSSINEW) by the receiving gateway 201A-E based on “Measured Power” (defined below). At step 340, for each gateway-to-gateway pair, the mean of RSSINEW (i.e., RSSIµ) is calculated. At step 350, signals are received from beacon 205 to gateways 201A-E over time. The RSSI values for beacon-to-gateway transmission are stored and the median is determined (i.e., RSSIMed). In some exemplary embodiments, the receiving gateways 201A-E transmit the RSSIs to the acquisition module 104 and the processing engine 106 of
A more detailed explanation of the flow chart diagram of
As described above, in step 310, each gateway 201A-E transmits and attempts to receive signals from other gateways 201A-E. At step 320, the RSSIs for gateway-to-gateway transmissions are measured by each receiving gateway 201A-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 201A-E may be referred to as RSSIG (or RSSI sub G, or RSSI Gateway) and is stored in the receiving gateway 201A-E. At step 330, each RSSIG is converted to the expected RSSI for the Measured Power of each beacon by the receiving gateway 201A-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 201A-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 RSSINEW (or RSSI sub NEW).
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.
Thus, the receiving gateway 201A-E converts the RSSI gateway values to RSSINEW values for each beacon 205. If the Measured Power is the same, the RSSI values will remain unchanged. In other words, If MPG = MPB then RSSIG 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 RSSINew being the same as RSSIG.
The conversion is accomplished based on the Measured Power of each gateway 201A-E, the Measured Power of each beacon 205, and optional environmental factors (such as factors related to interference). The Measured Power of each gateway 201A-E and the Measured Power of each beacon 205 may be obtained by actually measuring power transmitted from each gateway 201A-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 201A-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 RSSINEW:
RSSINEW values are calculated and stored over time by each gateway 201A-E. Exemplary RSSINEW values are illustrated in the data structure illustrated in
Referring again to
Based on the exemplary data in the data structure illustrated in
A gateway pair with no observations (excluding a gateway to itself), can result in a RSSIµ value of, for example, -110. The RSSIµ value “-110” is selected empirically. In particular, various values are tried and the RSSIµ 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µ value that did not reach a gateway. Any gateway to itself is given an RSSIµ value of, for example, -43. The RSSIµ 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µ value -110 can be modified if a better RSSIµ value is determined to represent an RSSI value that “did not reach the gateway” and the RSSIµ value -43 can be modified if stronger beacons are used (in that case the RSSIµ value would be raised) or weaker beacons are used (in that case the RSSIµ value would be lowered).
For example, if gateway 201A sends out 10 signals in a designated period and 7 of the 10 signals actually reach gateway 201B, the mean value of gateway 201B receiving signals from gateway 201A 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 201B in the example).
Since a gateway will never receive its own signal, the stored RSSIµ value can be -43 for the gateway to itself (gateway 201A to gateway 201A, gateway 201B to gateway 201B, 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.
The RSSIµ for each gateway/gateway pair is then stored. An example of a table storing this data appears in the data structure illustrated in
Referring to step 350 of
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 201A-E from the beacon 205 (or from each beacon if there are multiple beacons), the median (average) RSSIMed is calculated.
Received Values (ordered Lowest to Highest) = [RSSI0, RSSI1, RSSI2, RSSI3, RSSI4] => RSSIMed = RSSI2.
At step 350, for each receiving gateway 201A-E in the map area 203 of the beacon 205 of interest, the RSSIMed is stored in that gateway. In the example above RSSI2 is stored. This value is compared to the aggregate converted RSSI values from the gateway pairs (RSSIµ), as described in detail below.
Referring now to step 360 of
An example of the calculation performed in step 360 of
Now assume that beacon 205 sends signals to gateways 201A and 201B. The median value of the RSSI signals (RSSIMED) gateway 201A received from beacon 205 is -55, and the median value of the RSSI signals (RSSIMED) gateway 201B 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 201A than to gateway 201B, but this fact can also be shown mathematically.
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. Dj is sorted in ascending order.
Plugging in the above hypothetical values, the following distances are obtained:
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) 201A.
The reference points (gateways 201A-E) with the “m” lowest values for Dj 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).
In step 370, the RSSIMED values and (x,y) coordinates are referenced from the “m” (e.g. 2) selected gateways 201A and 201B. Estimated physical distance, d, is calculated for each gateway 201A and 201B 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.
From the example above using gateway 201A and gateway 201B. Gateway 201A median (RSSIMED) can be -55 and gateway 201B 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:
Next in step 380 of
The calculation will now be performed as an example. Assume the degree g is 1 for simplicity purposes.
In step 390 of
The final estimated location is thus (xw, yw).
For example, assume that gateway 201A is at coordinates (10, 50) and gateway 201B is at coordinates (20, 30).
Final estimated coordinates of beacon 205: (13.34, 43.32)
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.
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.
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.
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).
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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
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.
This application claims the benefit of U.S. Provisional Pat. Application No. 63/314,432, filed Feb. 27, 2022, the entire disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63314432 | Feb 2022 | US |