Location monitoring system using bluetooth low energy for proximity detection and location detection
The BLE-based system addresses precision and power consumption issues in location tracking by using strategically placed devices for real-time proximity detection and peer-to-peer location sharing, enhancing precision and privacy management.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- KOSLU LLC
- Filing Date
- 2025-12-12
- Publication Date
- 2026-06-18
AI Technical Summary
Conventional location tracking and proximity detection technologies face limitations in areas with sparse network infrastructure, lack precision, and fail to provide real-time awareness of device presence changes, especially in environments where GPS signals are weak or unavailable, consuming significant battery power and requiring active network connections.
A BLE-based system using strategically placed devices to detect external device signals, generating impression analytics and enabling peer-to-peer location sharing, with a central system managing BLE devices for precise proximity detection and location tracking, utilizing machine learning for anomaly detection and privacy management.
Enables accurate estimation of advertisement impressions and real-time location tracking with minimal power consumption, facilitating peer-to-peer location sharing and privacy control, applicable in logistics, transit, and healthcare use cases.
Smart Images

Figure US2025059502_18062026_PF_FP_ABST
Abstract
Description
Atty Docket No. 069902-640123LOCATION MONITORING SYSTEM USING BLUETOOTH LOW ENERGY FOR PROXIMITY DETECTION AND LOCATION DETECTIONCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 63 / 733,463, filed December 13, 2024, which is hereby incorporated by reference in its entirety.FIELD OF INVENTION
[0002] The present disclosure relates to Bluetooth Low Energy (BLE) monitoring systems for proximity detection and location tracking, and more particularly to systems and methods that utilize BLE device scanning to estimate device proximity and location.BACKGROUND
[0003] Location tracking and proximity detection technologies have become increasingly prevalent in modern mobile devices and applications. Traditional location tracking systems rely primarily on Global Positioning System (GPS) satellites and cellular network triangulation to determine device position. However, these conventional approaches face substantial limitations when devices operate outside typical cellular coverage areas or in environments where GPS signals are weak or unavailable, such as indoor spaces, urban canyons, or remote locations. Additionally, GPS-based systems consume considerable battery power and may require extended time periods to establish accurate location fixes, particularly in challenging signal environments.
[0004] Existing proximity detection methods for identifying nearby devices typically depend on Wi-Fi network scanning or cellular tower identification, which provide limited granularity and may not function effectively in areas with sparse network infrastructure. These approaches often lack the precision needed for fine-grained proximity detection and may fail to distinguish between devices that are genuinely nearby versus those that are simply connected to the same network infrastructure. This may be relevant, for example, in the advertising context, as existing technologies lack the ability to measure the number of people who may see messaging because of the dynamic conditions of travel and because vehicles lack the types of sensors that may beAtty Docket No. 069902-640123 needed for this purpose. Furthermore, traditional proximity detection systems may not provide real-time awareness of device presence changes or may require active network connections that are not always available in all operational environments.SUMMARY
[0005] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0006] A computer implemented method, an apparatus comprising at least a BLE device, a central system, and a computer program product are provided in accordance with an example embodiment for performing impression analytics and estimation functions. In this regard, the computer implemented method, the apparatus, the central system, and the computer program product are configured to track locations to establish a route, receive, using a BLE device, one or more external device presence signals, comprising one or more external device identifiers from one or more external devices, determine, using the BLE device, a signal strength of each of the one or more external device presence signals, determine a signal location of the apparatus and a timestamp upon receipt of each of the one or more external device presence signals, generate, based at least in part on the one or more external device presence signals, an impression data object for each of one or more external device identifiers in the received one or more external device presence signals, wherein each impression data object comprises the signal location, the timestamp, and the signal strength for the one or more external device presence signals received for a corresponding external device identifier of the one or more external device identifiers, generate external device location identifiers relative to the route using the impression data objects for each of the one or more external device identifiers, and generate an impressions analytics interface component comprising a map identifying the route and overlaying visual indicators for the impression data objects at the external device location identifiers.
[0007] In some embodiments, the BLE device is affixed to a vehicle.Atty Docket No. 069902-640123
[0008] In some embodiments, the one or more external device presence signals are BLE signals received from one or more external devices.
[0009] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine that at least two of the one or more external device presence signals originated from unique external devices.
[0010] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine a volume of external devices based on each of the one or more external device identifiers in the received one or more external device presence signals.
[0011] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to generate impression analytics data based on one or more impression data objects associated with one or more unique external devices.
[0012] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine, based on the one or more signal strengths, that the external device is moving with the BLE device.
[0013] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine, based on an external device identifier of an external device presence signal, a device type of an external device.
[0014] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine, based on two or more timestamps of two or more external device presence signals associated with a first external device, a device type of the first external device.
[0015] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine, based on the one or more signal strengths and one or more timestamps of one or more external device presence signals, an approximate location of the external device.Atty Docket No. 069902-640123
[0016] In some embodiments, each of the visual indicators overlaid on the map represent a unique external device.
[0017] In some embodiments, the visual indicators are located on the map at a signal location associated with a first reception of an external device presence signal associated with a corresponding unique external device.
[0018] In some embodiments, the impressions analytics interface component depicts a number of impression data objects at a plurality of locations along the route.
[0019] In some embodiments, the impressions analytics interface component depicts one or more visual indicators corresponding to one or more impression data objects associated with a location along the route.
[0020] In some embodiments, the one or more visual indicators do not correspond to one or more impression data objects not associated with the location along the route.
[0021] A computer implemented method, an apparatus comprising at least a BLE device, a central system, and a computer program product are provided in accordance with an example embodiment for performing peer-to-peer location sharing and privacy functions. In this regard, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine an association between privacy configuration data and an external device identifier associated with an external device, receive, from the external device, data identifying a BLE-based presence signal identifying a BLE beacon in communication with the external device, determine a privacy action based on the privacy configuration data associated with the external device identifier, wherein the privacy action applies while the BLE beacon is in communication with the external device, broadcast location data for the external device based at least in part on the privacy action.
[0022] In some embodiments, the external device identifier is associated with a member of a peer-to-peer network.
[0023] In some embodiments, the approximate location of the external device is accessible to one or more members of the peer-to-peer network.Atty Docket No. 069902-640123
[0024] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine, based on the privacy configuration data, that the approximate location of the external device is associated with a predetermined restricted area and restrict the one or more members of the peer-to-peer network's access to the approximate location of the external device.
[0025] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine that the external device presence signal further comprises a status update and enable access to the status update to the one or more members of the peer-to-peer network.
[0026] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to determine, based on the approximate location of the external device and using a trained machine learning model, a routine anomaly.
[0027] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to enable access to one or more emergency response features to the one or more members of the peer-to-peer network.
[0028] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to cause recording of audio and video data via the external device and cause transmission of the audio and video data to a secure device.
[0029] In some embodiments, the computer implemented method, the apparatus, the central system, and the computer program product are configured to transmit safety data to the external device based on the approximate location of the external device.
[0030] In some embodiments, the external device is configured to broadcast low resolution location data associated with the approximate location of the external device based at least in part on a location of a second BLE device.
[0031] In some embodiments, the external device is configured to broadcast the status update using a second BLE device.Atty Docket No. 069902-640123
[0032] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure and are not restrictive.BRIEF DESCRIPTION OF FIGURES
[0033] Non-limiting and non-exhaustive examples are described with reference to the following figures.
[0034] FIG. 1 illustrates a block diagram of an example system architecture within which one or more embodiments of the present disclosure may operate;
[0035] FIG. 2 illustrates a schematic diagram of an example BLE signal processing apparatus configured in accordance with one or more embodiments of the present disclosure;
[0036] FIG. 3 illustrates a schematic diagram of an example BLE apparatus configured in accordance with one or more embodiments of the present disclosure;
[0037] FIG. 4A illustrates an example application of the example system architecture in accordance with one or more embodiments of the present disclosure;
[0038] FIG. 4B illustrates another example application of the example system architecture in accordance with one or more embodiments of the present disclosure;
[0039] FIG. 5 illustrates an example method for performing one or more impression analytics and estimation functions in accordance with one or more embodiments of the present disclosure;
[0040] FIG. 6 illustrates an example impressions analytics interface component in accordance with one or more embodiments of the present disclosure;
[0041] FIG. 7 illustrates another example impressions analytics interface component in accordance with one or more embodiments of the present disclosure;
[0042] FIG. 8 illustrates another example impressions analytics interface component in accordance with one or more embodiments of the present disclosure;Atty Docket No. 069902-640123
[0043] FIG. 9 illustrates an example peer-to-peer network in accordance with one or more embodiments of the present disclosure;
[0044] FIG. 10 illustrates another example application of the example system architecture in accordance with one or more embodiments of the present disclosure;
[0045] FIG. 11 illustrates an example environment within which the one or more embodiments of the example system architecture may operate; and
[0046] FIG. 12 illustrates an example method for performing one or more peer-to-peer location sharing and privacy functions in accordance with one or more embodiments of the present disclosure.DETAILED DESCRIPTION
[0047] The following description sets forth exemplary aspects of the present disclosure. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure. Rather, the description also encompasses combinations and modifications to those exemplary aspects described herein.Overview
[0048] The Bluetooth Low Energy (BLE)-based systems described herein utilize a plurality of strategically placed BLE devices to detect signals emitted by external devices for location tracking and proximity detection. BLE devices are devices configured to transmit data signals in accordance with a BLE protocol. BLE devices may be managed by either a central system or by an individual external device. A BLE beacon is a type of BLE device that is known to the central system and is commonly positioned at a fixed location. These BLE devices use minimal battery power and can sustain long periods without access to additional power sources. Additionally, these BLE devices utilize short range radio frequency signals to transmit data, enabling the central system to detect these signals and perform various operations and functions. Specifically, the central system is configured to detect these signals as they are transmitted from external devices, which may be any device that is external to the central system and configured to transmit BLE signals.Atty Docket No. 069902-640123
[0049] The central system managing one or more BLE devices described herein is highly adaptable and can be applied to a wide variety of use cases. Specifically, by affixing a BLE device to a vehicle displaying an advertisement, the central system is able to detect a vast number of BLE-based signals emitted by external devices located nearby. Through a series of sophisticated algorithms and processes, the central system is able to generate impression analytics data that accurately estimates a number of people that are feasibly able to see the advertisement as the vehicle traveled along a route, based at least in part on devices that connect via BLE to the BLE device (BLE having a sufficiently small range that determining whether a person associated with a connected device can see an advertisement is an effective estimation of the number of impressions of the advertisement).
[0050] This central system can also be applied to facilitate peer-to-peer location sharing and privacy. By strategically positioning BLE devices (e.g., BLE beacons) in an environment, the central system is able to detect nearby external devices that are members of a peer-to-peer network and distribute location data and safety information between the members of the peer-to- peer network. To preserve privacy, users can configure privacy configuration data to set preferences and control how, when, where, and to whom their location data and safety information is shared within the peer-to-peer network, and those privacy preferences may be customized based on locations, which are detected by being in communication with a BLE beacon. This central system and BLE devices are useful in a variety of additional use cases, such as managing supply chain logistics to automate verification of package deliveries, implementing a hands-free public transit fee collection system, and verifying in-home care visits to ensure patients receive proper medical care.Definitions
[0051] The term “central system” refers to a system configured for integrating with a plurality BLE devices to perform various communications, processing, and machine learning enabled functions. The central system is configured to manage one or more BLE devices that monitor a plurality of radio wave frequencies to detect signal transmissions from external devices, such as external device presence signals. The central system is configured to receive these external device presence signals from the one or more BLE devices and process them toAtty Docket No. 069902-640123 enable performance of various functions including, but not limited to, impression analytics, device monitoring, location tracking, privacy and safety management, logistics and supply chain management, transportation services, Electronic Visit Verification (EVV), and object tracking. The central system addresses the technical challenges that arise from the complexities of using BLE transmission protocols for transmitting, receiving, and broadcasting data, which often involves short range, low power, low bandwidth, and crowded data transmissions.
[0052] The central system utilizes sophisticated algorithms, trained machine learning models, and / or data structures to perform BLE signal processing, impression analytics, device monitoring, location tracking, privacy and safety management, logistics and supply chain management, transportation services, EVV, and object tracking. These sophisticated algorithms, trained machine learning models, and / or data structures enable the central system to track locations of BLE devices, receive external device presence signals, determine signal strengths of external device presence signals using a BLE device that received the external device presence signals, generate additional data, insights, and metrics based on the received external device presence signals, generate and render interface components, and perform various additional functions.
[0053] The architecture of a central system may be connected with one or more BLE devices. The central system may be configured to store and / or execute a centralized database that stores external device identifiers, timestamps, device types, external device location identifiers, signal strength data, signal location data, route data, impression data objects, privacy configuration data, privacy actions, and / or the like. In some embodiments, certain features as discussed herein may be performed using one or more trained machine learning models. This sophisticated architecture enables the central system to process external device presence signals to determine a signal strength of an external device presence signal using a BLE device that received the external device presence signal, generate an external device location identifier to approximate a location of an external device that transmitted the external device presence signal, generate and render interface components, broadcast data based on privacy actions, output data to output devices, and perform various additional functions.Atty Docket No. 069902-640123
[0054] The term “BLE device” (or “Bluetooth Low Energy device”) refers to any apparatus, system, module, integrated circuit, or assembly configured to transmit data using the Bluetooth Low Energy protocol. A BLE device comprises a processor, memory, power source, circuitries, and / or additional hardware and software components configured to enable a BLE device to transmit and receive data in accordance with the BLE protocol and store data in memory. In this regard, a BLE device may be any device (e.g., a radio receiver) capable of communicating in accordance with the BLE protocol. BLE devices may be managed by the central system or an external device. The operability and functions performed by a BLE device differ based on the BLE device’s relationship with the central system. A BLE device associated with an external device is configured to broadcast and / or transmit external device presence signals to one or more BLE devices managed by the central system. A BLE device managed by (e.g., configured for communication with) the central system (e.g., having an app executing on the BLE device that transmits data to the central system) is configured to receive, broadcast, and / or transmit external device presence signals associated with an external device and cache data conveyed by external device presence signals until the data can be provided to the central system. A BLE device managed by the central system is configured to transmit cached external device presence signals to the central system in accordance with the BLE protocol. In alternate embodiments, a BLE device managed by the central system may be configured to transmit cached external device presence signals to the central system via wired and / or other wireless transmission mediums.
[0055] The term “BLE beacon” refers to a type of BLE device positioned at a predetermined location known to the central system. A BLE beacon may be positioned at a fixed location. A BLE beacon is configured for continuously broadcasting external device presence signals comprising a known external device identifier. In this regard, an external device identifier associated with a BLE beacon may not change or rotate, or may change or rotate in a manner decipherable by the central system such that the central system is enabled to identify the BLE beacon using a known protocol, such as iBeacon, Eddystone, and / or the like. These protocols rotate external device identifiers by utilizing secret key-based functions and / or time-based pseudorandom functions to periodically generate new external device identifiers. Identification of a BLE beacon enables the central system to better approximate locations of external devices detected in proximity to the BLE beacon via one or more external device presence signals.Atty Docket No. 069902-640123
[0056] BLE beacons can be named and / or associated with location coordinates. This improves the accuracy of determining approximate locations of external devices that transmit external device presence signals received by a BLE beacon. In some embodiments, in an instance in which a BLE beacon is not explicitly associated with location coordinates, the central system is configured to determine a BLE beacon’s location coordinates (e.g., by utilizing a trained machine learning model to search one or more databases and / or Internet sources based on the known external device identifier, by utilizing historical data received from other devices associated with known location coordinates, signal strengths, and / or signal locations to triangulate a location of the BLE beacon, etc.). Example BLE beacons include Wi-Fi routers, gateway devices, hotspots, cellular towers, access points, base stations, radio broadcast systems, smart home hubs, terminals, network nodes, and / or the like.
[0057] The term “external device” refers to any apparatus, system, module, integrated circuit, or assembly external to the central system and the BLE devices managed by the central system configured to receive, broadcast, and / or transmit data, such as external device presence signals, to one or more BLE devices managed by the central system using a BLE device native to the external device. An external device may be a BLE device. Conversely, an external device may be configured to utilize a separate BLE device to receive, broadcast, and / or transmit data in accordance with the BLE protocol. In this regard, an external device is configured to operate in accordance with the BLE protocol via direct or indirect means. An external device may be configured to broadcast external device presence signals at regular intervals. Example external devices include smartphones, smartwatches, tablets, laptops, desktop computers, monitors, vehicle systems, smart appliances, smart home hubs, smart thermostats, Wi-Fi routers, gateway devices, network nodes, remote controls, wireless keyboards, wireless mice, wireless headphones, personal object trackers, smart key finders, speakers, microphones, cameras, heart rate monitors, smart locks, smart lightbulbs, barcode scanners, video game consoles, and / or the like.
[0058] The term “external device presence signal” refers to signal comprising data or information conveyed over a wireless link operating in accordance with the BLE protocol. An external device presence signal is generated by an external device and / or a BLE device notAtty Docket No. 069902-640123 managed by the central system and is broadcast and / or transmitted as a radio frequency signal (RF) (e.g., a BLE signal) to one or more BLE devices managed by the central system. Later, the BLE device that received the external device presence signal transmits the external device presence signal to the central system via an RF signal, a wired signal, and / or a wireless signal. An external device presence signal comprises data representing an external device identifier. An external device presence signal may additionally comprise a user identifier associated with a user profile and / or privacy configuration data.
[0059] The term “external device identifier” refers to data configured to uniquely identify an external device. An external device identifier is conveyed to the central system via an external device presence signal. For security purposes, an external device identifier associated with a unique external device may be altered, changed, and / or rotated at regular intervals. In this regard, two external device presence signals generated by the external device at different times may comprise different external device identifiers.
[0060] The term “signal strength” refers to a quantitative or qualitative measure indicative of a power level or intensity of an RF signal received by a receiving device. A receiving device, such as a BLE device managed by the central system, is configured to determine a signal strength of an RF signal, such as an external device presence signal, by measuring the power level of the incoming signal as it is received. The central system is configured to associate signal strength values with corresponding external device presence signals for determining approximate locations of external devices associated with the external device presence signals.
[0061] The term “signal location” refers to a location of a BLE device managed by the central system at the moment an external device presence signal is received by that BLE device. The central system is configured to associate signal location values with corresponding external device presence signals.
[0062] The term “external device location identifier” refers to data representing an approximate location of an external device identified by an external device presence signal received by a BLE device managed by the central system. The central system is configured to generate an external device location identifier based on one or more signal strengths and one or more signal locations associated with one or more external device presence signals comprisingAtty Docket No. 069902-640123 matching external device identifiers. The central system is configured to associate external device location identifiers with corresponding external devices. The central system is configured to update an external device location identifier as additional corresponding external device presence signals are received. In this regard, an external device location identifier represents an approximation of the most recent location of an external device as well as a historical record of previous approximate locations of the external device.
[0063] The term “route” refers to a timestamped series of locations traversed by a BLE device during reception of one or more external device presence signals. A route may be established through pre-planned routing or real-time routing, for example. In pre-planned routing, the route is predetermined before travel begins, with the central system receiving route data that defines the intended path, waypoints, and destination. In real-time routing, the route is established dynamically as the BLE device moves, with the central system continuously tracking and recording the actual path traversed during an unplanned trip. The central system is configured to continuously track locations of one or more BLE devices managed by the central system. The central system is configured to establish a route between two locations by selecting a first location of a BLE device and continuing to track the location of the BLE device. The central system may terminate the route at any subsequent location of the BLE device, whether the termination point was predetermined in a pre-planned route or determined dynamically in a realtime route.
[0064] The term “impression data object” refers to data representing a unique external device’s interactions with one or more BLE devices managed by the central system. An impression data object is generated by the central system upon receipt of an external device presence signal comprising a new external device identifier. The central system is configured to update and modify an impression data object as additional external device presence signals comprising a matching external device identifier are received. An impression data object often includes fields for an external device identifier, one or more signal locations, one or more signal strengths, one or more timestamps, and / or an external device location identifier. In this regard, an impression data object functions as a documented record of each external device presence signal associated with a unique external device received by the central system.Atty Docket No. 069902-640123
[0065] The term “privacy configuration data” refers to user-configurable privacy and safety settings and preferences associated with controlling the accessibility of an external device’s approximate location, controlling access to data transmitted by an external device, controlling a trained machine learning model’s interactions with an external device, and controlling operations of the external device based on instructions determined by the central system. Privacy configuration data enables the central system to determine an appropriate privacy action in response to certain conditions or criteria being met and / or occurrences of certain scenarios (e.g., a particular external device being in communication with (receiving signals from) a BLE beacon). Privacy configuration data is generated and or modified by a user of an external device, transmitted to the central system via one or more BLE devices, and stored by the central system in association with a corresponding user identifier associated with a user profile. As an example, a criterion may be a determination that the external device is in communication with a BLE device (which may be located at a fixed location), such as a BLE beacon, indicating that the external device is at a geographic location of the BLE device (e.g., a predetermined restricted area, as discussed herein). As another example, the external device may be in communication with a BLE device (which may be associated with an individual, but is not at a fixed location), indicating the possessor of the external device is proximate the individual associated with the BLE device. As another example, the external device may detect a fall (e.g., with an onboard gyroscope).
[0066] The term “privacy action” refers to instructions for executing one or more operations and / or functions in response to certain conditions or criteria being met and / or occurrences of certain scenarios as defined by privacy configuration data associated with a user profile. Based on the privacy configuration data, the central system may determine and carry out one or more privacy actions, such as broadcasting location data associated with an external device, restricting access to location data associated with an external device, enabling access to a status update associated with an external device, using a trained machine learning model to determine a routine anomaly associated with an external device, enabling access to one or more emergency response features associated with an external device, causing an external device to execute one or more operations and / or functions, determining safe driving habits, transmitting positive reinforcement data to an external device, causing an external device to broadcast data, and / or the like.Atty Docket No. 069902-640123
[0067] The term “peer-to-peer network” refers to an interconnected network of member devices. Each “member” of the peer-to-peer network subscribes to receive access to data associated with other members of the peer-to-peer network that enable their data to be shared. Each member is associated with an external device (such that the location of the external device is a proxy for the location of the member). The central system is configured to manage the peer- to-peer network and facilitate data transmissions between the member devices. The central system is configured to restrict and enable each member’s access to other member’s data in accordance with privacy configuration data associated with each member. In this regard, the central system may utilize one or more BLE devices to distribute a member device’s data to the other members of the peer-to-peer network while also censoring, obfuscating, or otherwise restricting that data.
[0068] The term “member device” refers to an external device that is a member of a peer-to- peer network. By becoming a member of a peer-to-peer network, a user of an external device agrees to enable other member devices to access their data, including location data. The central system enables the user of the external device to configure privacy configuration data to control how, where, when, and what data is shared with the peer-to-peer network.
[0069] The term “predetermined restricted area” refers to a geographical area defined by privacy configuration data. The central system is configured to determine that an approximate location of an external device coincides with a predetermined restricted area and determine an appropriate privacy action, such as restricting the peer-to-peer network’s access to the approximate location of the external device and / or causing the external device to broadcast low resolution location data. In certain embodiments, a predetermined restricted area is identified by a BLE beacon, such that a device that is receiving signals from the BLE beacon (or otherwise in BLE communication with the BLE beacon) is within the predetermined restricted area. In some cases, a predetermined restricted area for a first device (e.g., a BLE beacon in communication with the first device) may not be a predetermined restricted area for a second device.
[0070] The term “status update” refers to data, such as a message, selected by a user of an external device or generated by the external device based on an approximate location of theAtty Docket No. 069902-640123 external device. The central system is configured to distribute a status update to the peer-to-peer network in accordance with privacy configuration data associated with the user.
[0071] The term “routine anomaly” refers to a deviation, irregularity, and / or departure from an expected, established, and / or statistically normal condition and / or pattern. The central system is configured to utilize a trained machine learning model to analyze a plurality of approximate locations of an external device and corresponding timestamps to establish a routine (e.g., normalized movement and location patterns). The trained machine learning model is configured to determine anomalies in this routine and enable the central system to determine an appropriate privacy action, such as transmitting a message to the external device, enabling the peer-to-peer network to access one or more emergency response features, causing the external device to record audio and video data, causing the external device to transmit or broadcast the audio and video data, transmitting safety data to the external device, and / or the like.
[0072] The term “emergency response feature” refers to data transmitted to member devices of the peer-to-peer network that notify those members of a routine anomaly associated with an external device and enable access to one or more emergency services, such as dialing an emergency phone number, alerting local authorities and first responders, and / or the like.
[0073] The term “safety data” refers to data transmitted to an external device comprising information curated based on the approximate location of the external device related to local safety resources, community information, emergency support services, public safety facilities, and / or the like.
[0074] The term “safe driving habit” refers to an element of routine of an external device that is determined to be indicative of safe driving practices and behaviors by the trained machine learning model. The trained machine learning model is configured to analyze a plurality of approximate locations of an external device, corresponding timestamps, and map data to determine a travel speed associated with the external device. The central system is configured to distribute safe driving habit data to the peer-to-peer network. The central system may also transmit positive reinforcement data to the external device based on the safe driving habits.
[0075] The term “positive reinforcement data” refers to data representing digital currency, reward points, and / or units of a virtual reward system transmitted to an external device based onAtty Docket No. 069902-640123 one or more safe driving habits (or other desired behavior, such as being within a predetermined restricted area at a designated time). Positive reinforcement data is configured to enable redemption of units of the virtual reward system in exchange for prizes and / or privileges configured by one or more users of one or more member devices of the peer-to-peer network. The virtual reward system, prizes, prices, and privileges may be configured by one or more members of the peer-to-peer network. In this regard, a member of the peer-to-peer network may be configured to credit / debit units of the virtual reward system in association with a user profile of another member of the peer-to-peer network.
[0076] The term “location data” refers to data representing an approximate location of an external device, such as an external device location identifier. Location data may be distributed by the central system to the peer-to-peer network. Location data may be accompanied by additional data, such as impression data objects, status updates, routine anomalies, emergency response features, safety data, safe driving habit data, positive reinforcement data, and / or the like. Location data may be broadcast and / or transmitted via a BLE signal, a wired signal, and / or a wireless signal. An external device that received location data may present the location data to a user in the form of an alert, a push notification, a text message, an email, and / or the like.
[0077] The term “low resolution location data” refers to data representing an approximate location of an external device that is intentionally spoofed, obfuscated, generalized, restricted, and / or disguised to restrict access to the approximate location of the external device. Low resolution location data may be broadcast by the external device in accordance with a privacy action.
[0078] The term "timestamp" refers to data representing a specific point in time (date and / or time) at which an event occurs, such as the receipt of an external device presence signal by a BLE device. A timestamp may be recorded in various formats, including but not limited to Unix time, ISO 8601 format, or other standardized time representations. Timestamps may be used to determine duration of device presence, frequency of signal reception, temporal patterns in device detection, and chronological ordering of events.
[0079] The term "map" or "map interface" refers to a graphical user interface component that displays geographic or spatial information in a visual format. A map interface may presentAtty Docket No. 069902-640123 routes, locations, and associated data overlaid on a cartographic representation. The central system is configured to generate and render map interfaces that visualize BLE device locations, external device location identifiers, routes, and impression data objects. A map interface may include interactive elements that enable users to zoom, pan, filter data, and select specific locations or routes for detailed analysis. The map interface may display visual indicators, such as pins, markers, icons, or other graphical elements, positioned at coordinates corresponding to signal locations, external device location identifiers, or other geographic points of interest. In some embodiments, the map interface may incorporate real-time updates as new external device presence signals are received and processed by the central system.
[0080] The term "visual indicator" refers to a graphical element displayed on a map interface or other user interface component to represent data associated with an external device, impression data object, or location. Visual indicators may take various forms, including pins, markers, icons, symbols, dots, or other graphical representations. Each visual indicator may be positioned at coordinates corresponding to a signal location, external device location identifier, or other geographic point of interest. Visual indicators may vary in appearance based on associated data characteristics, such as size, color, shape, opacity, or animation state, to convey different information about the represented data. In some embodiments, visual indicators may be interactive, enabling users to select, hover over, or otherwise interact with them to access additional information about the corresponding external device, impression data object, or location. Visual indicators may be dynamically updated or modified as new external device presence signals are received and processed by the central system.
[0081] The term "access" refers to the ability of a user or member device within a peer-to- peer network to view, retrieve, or receive location data associated with an external device. Access may be granted (enabled) or denied (restricted) based on privacy configuration data, and may encompass various levels of detail or granularity in the location information provided. Access may include the ability to view real-time location updates, historical location data, or location-derived information such as status updates or routine patterns.
[0082] As used herein, the term “comprising” means including but not limited to and should be interpreted in the manner it is typically used in the patent context. Use of broader terms suchAtty Docket No. 069902-640123 as comprises, includes, and having should be understood to provide support for narrower terms such as consisting of, consisting essentially of, and comprised substantially of.
[0083] The phrases “in various embodiments,” “in one embodiment,” “according to one embodiment,” “in some embodiments,” and the like generally mean that the particular feature, structure, or characteristic following the phrase may be included in at least one embodiment of the present disclosure and may be included in more than one embodiment of the present disclosure (importantly, such phrases do not necessarily refer to the same embodiment).
[0084] The word “example” or “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
[0085] If the specification states a component or feature “may,” “can,” “could,” “should,” “would,” “preferably,” “possibly,” “typically,” “optionally,” “for example,” “often,” or “might” (or other such language) be included or have a characteristic, that a specific component or feature is not required to be included or to have the characteristic. Such a component or feature may be optionally included in some embodiments or it may be excluded.
[0086] The use of the term “circuitry” as used herein with respect to components of a system or an apparatus should be understood to include particular hardware configured to perform the functions associated with the particular circuitry as described herein. The term “circuitry” should be understood broadly to include hardware and, in some embodiments, software for configuring the hardware. For example, in some embodiments, “circuitry” may include processing circuitry, communications circuitry, input / output circuitry, and the like. In some embodiments, other elements may provide or supplement the functionality of particular circuitry.
[0087] The terms “data,” “content,” “digital content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received, and / or stored in accordance with embodiments of the present disclosure. Further, where a computing device is described herein to receive data from another computing device, it will be appreciated that the data may be received directly from another computing device or may be received indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, hosts, and / or the like, sometimes referred to hereinAtty Docket No. 069902-640123 as a “network.” Similarly, where a computing device is described herein to send data to another computing device, it will be appreciated that the data may be sent directly to another computing device or may be sent indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, hosts, and / or the like.
[0088] The terms “computer-readable storage medium” refers to a non-transitory, physical or tangible storage medium (e.g., volatile or non-volatile memory), which may be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal. Such a medium may take many forms, including, but not limited to a non-transitory computer- readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Transmission media include, for example, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical, infrared waves, or the like. Signals include manmade, or naturally occurring, transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Examples of non-transitory computer-readable media include a magnetic computer readable medium (e.g., a floppy disk, hard disk, magnetic tape, any other magnetic medium), an optical computer readable medium (e.g., a compact disc read only memory (CD-ROM), a digital versatile disc (DVD), a Blu-Ray disc, or the like), a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), a FLASH-EPROM, or any other non- transitory medium from which a computer may read. The term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media. However, it will be appreciated that where embodiments are described to use a computer- readable storage medium, other types of computer-readable mediums may be substituted for or used in addition to the computer-readable storage medium in alternative embodiments.
[0089] The term “repository” refers to a database, a datastore, and / or a memory device which is accessible by one or more computing devices for retrieval and storage of one or more data components, the like, or combinations thereof. The repository may be configured to organize data components stored therein in accordance with one or more particular data classificationAtty Docket No. 069902-640123 labels or other attributes attributed to the data component (e.g., a scoring metric, file size, file type, etc.). For example, a repository may be structured in accordance with one or more data components associated with one or more services, applications, data classification labels, internal resources, external resources, network functions, APIs, the like, or combinations thereof. In some embodiments, a repository may be at least partially stored on one or more of a server, remotely accessible by a computing device, or on a memory device on-board the computing device.
[0090] The terms "application," "software application," "app," "product," "service" or other similar terms refer to a computer program or group of computer programs designed to perform coordinated functions, tasks, or activities for the benefit of a user or group of users. A software application can run on a server or group of servers (e.g., physical or virtual servers in a cloudbased computing environment). In certain embodiments, an application is designed for use by and interaction with one or more local, networked or remote computing devices.
[0091] The terms "machine learning module," "machine learning model," "ML model(s)", or "artificial intelligence model(s)" refer to a machine learning or deep learning task or algorithm. The term "machine learning" refers to a method used to devise complex models and algorithms that lend themselves to prediction. A machine learning model is a computer-implemented algorithm that may learn from data with or without relying on rules-based programming. These models enable reliable, repeatable decisions and results and uncovering of hidden insights through machine-based learning from historical relationships and trends in the data. In some embodiments, the trained machine learning model of the central system is implemented as an XGBoost model, a clustering model, a regression model, a neural network, a random forest, a decision tree model, a large language model, or a classification model. A trained machine learning model is initially fit or trained on historical external device presence signals, signal strengths, signal locations, and / or the like. The trained machine learning model may be trained on the historical external device presence signals, signal strengths, signal locations, and / or the like using supervised or unsupervised learning. The trained machine learning model is run with the external device presence signals and produces a result, which is then compared with a target, for each input vector in the external device presence signals. Based on the result of the comparison and the specific learning algorithm being used, the parameters of the trained machine learningAtty Docket No. 069902-640123 model are adjusted. The trained machine learning model as described herein may make use of multiple ML engines (e.g., for analysis, transformation, and other needs).
[0092] The central system may train different ML models for different needs and different ML-based engines. The central system may generate new models and may evaluate their performance against the existing models using feedback data. In the context of BLE signal processing, the central system may employ sophisticated algorithms for analyzing external device presence signals to efficiently process large datasets. The trained machine learning model may analyze external device presence signals to determine a routine anomaly for determination of a privacy action. The training process for the trained machine learning model involves multiple phases: initial training on historical external device presence signals, signal strengths, signal locations, and / or the like to learn general patterns of how external device presence signals lead to routine anomalies, followed by continuous refinement based on feedback data.
[0093] These models can be further enhanced through analysis of expected outcomes, which allow them to efficiently process and analyze large volumes of external device presence signals. The trained machine learning model may implement various algorithms, such as dimensionality reduction, hypothesis testing, one-way analysis of variance (ANOVA) testing, principal component analysis, conjoint analysis, neural networks, support vector machines, decision trees (including random forest methods), ensemble methods like XGBoost, and other techniques. In various embodiments, the trained machine learning model may undergo a training or learning phase before it is released into a production or runtime phase or may begin operation with models from existing systems or models. During a training or learning phase, the trained machine learning model may be tuned to focus on specific patterns to reduce error margins in determining routine anomalies. The trained machine learning model may undergo multiple subsequent training phases for retraining and updating based on feedback data to continuously improve its accuracy and efficiency in determining routine anomalies.Computer System Architecture
[0094] The invention disclosed herein may be embodied by one or more computing systems, such the BLE signal processing apparatus 200 illustrated in FIG. 2. In one or more embodiments, the BLE signal processing apparatus 200 includes processor 202, memory 204, input / outputAtty Docket No. 069902-640123 circuitry 206, communications circuitry 208, and / or BLE signal processing circuitry 210. The BLE signal processing apparatus 200 is configured to execute the operations described herein. Although these components 202-210 are described with respect to functional limitations, it should be understood that the particular implementations necessarily include the use of particular hardware. It should also be understood that certain components 202-210 may include similar or common hardware. For example, two sets of circuitries may both leverage use of the same processor, network interface, storage medium, and / or the like to perform their associated functions, such that duplicate hardware is not required for each set of circuitries.
[0095] In some embodiments, the processor 202 (and / or co-processor or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory 204 via a bus for passing information among components of the apparatus. The memory 204 is non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, for example, the memory 204 may be an electronic storage device (e.g., a computer-readable storage medium). The memory 204 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with example embodiments of the present disclosure.
[0096] The processor 202 may be embodied in a number of different ways and may, for example, include one or more processing devices configured to perform independently. In some preferred and non-limiting embodiments, the processor 202 may include one or more processors configured in tandem via a bus to enable independent execution of instructions, pipelining, and / or multithreading. The use of the term “processing circuitry” may be understood to include a single core processor, a multi-core processor, multiple processors internal to the apparatus, and / or remote or “cloud” processors.
[0097] In some preferred and non-limiting embodiments, the processor 202 may be configured to execute instructions stored in the memory 204 or otherwise accessible to the processor 202. In some preferred and non-limiting embodiments, the processor 202 may be configured to execute hard-coded functionalities. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 202 may represent an entity (e.g.,Atty Docket No. 069902-640123 physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Alternatively, as another example, when the processor 202 is embodied as an executor of software instructions, the instructions may specifically configure the processor 202 to perform the techniques and / or operations described herein when the instructions are executed.
[0098] In some embodiments, the BLE signal processing apparatus 200 may include input / output circuitry 206 that may, in turn, be in communication with processor 202 to provide output to the user and, in some embodiments, to receive an indication of a user input. In some embodiments, the input / output circuitry 206 may be configured to render a user interface. Additionally or alternatively, the input / output circuitry 206 may be configured to render and / or control a display, and may comprise a web user interface, a mobile application, a query-initiating computing device, a kiosk, or the like. In some embodiments, the input / output circuitry 206 may be communicatively coupled to and / or include a keyboard, a mouse, a joystick, a touch screen, touch areas, soft keys, a microphone, a speaker, or other input / output mechanisms. The processor and / or user interface circuitry comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and / or firmware) stored on a memory accessible to the processor (e.g., memory 204, and / or the like).
[0099] The communications circuitry 208 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and / or transmit data from / to a network and / or any other device, circuitry, or module in communication with the central system 102. In this regard, the communications circuitry 208 may include, for example, a network interface for enabling communications with a wired or wireless communication network and a BLE interface for enabling communications with BLE devices. For example, the communications circuitry 208 may include one or more network interface cards, antennae, buses, switches, routers, modems, and supporting hardware and / or software, or any other device suitable for enabling communications via a network and via BLE protocols. Additionally or alternatively, the communications circuitry 208 may include theAtty Docket No. 069902-640123 circuitry for interacting with the antenna / antennae to cause transmission of signals via the antenna / antennae or to handle receipt of signals received via the antenna / antennae.
[0100] In some embodiments, the communications circuitry 208 may act as an intermediary for one or more components of the system architecture 100. For example, the communications circuitry 208 may receive and process requests, call, messages, and / or the like for one or more components of the system architecture 100. In some embodiments, the communications circuitry 208 may additionally or alternatively support data routing, traffic control, security, decryption, encryption, optimization, and / or the like for data associated with one or more components of system architecture 100. For example, the communications circuitry 208 may receive a data object and perform one or more subsequent actions based on the data object. In some embodiments, the communications circuitry 208 may provide functionality of a service proxy for one or more components of the system architecture 100. In some embodiments, the communications circuitry 208 may also be configured to generate access logs and / or historical data including information associated with a particular computing device, component, component object, the like, or combinations thereof.
[0101] The BLE signal processing circuitry 210 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to interact with the system architecture 100 and / or the one or more components of the system architecture 100. For example, the BLE signal processing circuitry 210 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to interact with the central system 102, the external device 106, the output device 110, and / or one or more BLE devices.
[0102] In some embodiments, one or more external systems (such as a remote cloud computing and / or data storage system) may also be leveraged to provide at least some of the functionality discussed herein.
[0103] The BLE devices disclosed herein may be embodied by one or more computing systems, such the BLE apparatus 300 illustrated in FIG. 3. In one or more embodiments, the BLE apparatus 300 includes processor 302, memory 304, input / output circuitry 306, communications circuitry 308, and / or power source 310. The BLE apparatus 300 is configured to execute theAtty Docket No. 069902-640123 operations described herein. Although these components 302-310 are described with respect to functional limitations, it should be understood that the particular implementations necessarily include the use of particular hardware. It should also be understood that certain components 302- 310 may include similar or common hardware. For example, two sets of circuitries may both leverage use of the same processor, network interface, storage medium, and / or the like to perform their associated functions, such that duplicate hardware is not required for each set of circuitries.
[0104] In some embodiments, the processor 302 (and / or co-processor or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory 304 via a bus for passing information among components of the apparatus. The memory 304 is non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, for example, the memory 304 may be an electronic storage device (e.g., a computer-readable storage medium). The memory 304 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with example embodiments of the present disclosure.
[0105] The processor 302 may be embodied in a number of different ways and may, for example, include one or more processing devices configured to perform independently. In some preferred and non-limiting embodiments, the processor 302 may include one or more processors configured in tandem via a bus to enable independent execution of instructions, pipelining, and / or multithreading. The use of the term “processing circuitry” may be understood to include a single core processor, a multi-core processor, multiple processors internal to the apparatus, and / or remote or “cloud” processors.
[0106] In some preferred and non-limiting embodiments, the processor 302 may be configured to execute instructions stored in the memory 304 or otherwise accessible to the processor 302. In some preferred and non-limiting embodiments, the processor 302 may be configured to execute hard-coded functionalities. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 302 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodimentAtty Docket No. 069902-640123 of the present disclosure while configured accordingly. Alternatively, as another example, when the processor 302 is embodied as an executor of software instructions, the instructions may specifically configure the processor 302 to perform the techniques and / or operations described herein when the instructions are executed.
[0107] In some embodiments, the BLE apparatus 300 may include input / output circuitry 306 that may, in turn, be in communication with processor 302 to provide output and, in some embodiments, to receive BLE signal input. In some embodiments, the input / output circuitry 306 may be communicatively coupled to and / or include an RF transceiver, antennae, or other input / output mechanisms. The processor circuitry comprising the processor 302 may be configured to control one or more functions through computer program instructions (e.g., software and / or firmware) stored on a memory accessible to the processor (e.g., memory 304, and / or the like).
[0108] The communications circuitry 308 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and / or transmit data from / to a BLE device and / or any other device, circuitry, or module in communication with a BLE device via a BLE protocol. In this regard, the communications circuitry 308 may include, for example, a BLE interface for enabling communications with BLE devices. For example, the communications circuitry 308 may include one or more microcontrollers, RF transceivers, antennae, buses, and supporting hardware and / or software, or any other device suitable for enabling communications via BLE protocols. Additionally or alternatively, the communications circuitry 308 may include the circuitry for interacting with the antenna / antennae to cause transmission of signals via the antenna / antennae or to handle receipt of signals received via the antenna / antennae.
[0109] The power source 310 may be any means such as a battery, wire, and / or other mechanism configured to supply the BLE apparatus 300 with electrical current. The power source 310 may be configured with a sleep mode to conserve energy between short bursts of BLE data transmission.Atty Docket No. 069902-640123System Architectures, Methods, and Embodiments
[0110] FIG. 1 illustrates an example system architecture 100 within which embodiments of the present disclosure operate for detecting and processing BLE signals for various analytical, location tracking, proximity detection, and monitoring applications. The system architecture includes a central system 102 configured to manage and communicate with one or more BLE devices (e.g., BLE device 104A) and one or more external devices (e.g., external device 106) via a BLE protocol. The central system 102 is configured to serve as a processing hub for coordinating BLE signal detection and data analysis operations. The central system 102 may be configured to perform analytics, route planning and segmentation, financial transactions, impression estimation, compliance verification, and data visualization via web interfaces or APIs. The central system 102 is further configured to output data to one or more output devices (e.g., output device 110). The output device 110 may be any computing device, display device, storage device, and / or the like configured for receiving output data from the central system 102 and / or rendering graphical user interfaces based on the output data. While somewhat simplified for brevity and ease of illustration, the depicted example system architecture 100 is configured to directly address the technical challenges associated with managing a vast web of BLE devices each receiving large volumes of BLE-enabled data signals. Though the example system architecture 100 depicts one BLE device 104 A under management by the central system 102 and one external device 106, it should be appreciated that the central system 102 is extensible to handle any number of BLE devices and external devices positioned throughout a geographical area.
[0111] Components of the depicted system architecture 100 utilize a data repository (not shown) configured to store one or more data objects and / or data for one or more component objects associated therewith. In some embodiments, the one or more data objects stored in the data repository may include and / or may be stored with data sent to and / or received from the one or more components of system architecture 100. In some embodiments, the one or more data objects stored in the data repository may be cached to enhance response times for repeated requests. The data repository includes one or more storage units, such as multiple distributed storage units that are connected through a computer network. Each storage unit in the dataAtty Docket No. 069902-640123 repository stores one or more data objects. Moreover, each storage unit in the data repository includes one or more non-volatile storage or memory media including but not limited to hard disks, ROM, PROM, EPROM, EEPROM, flash memory, MMCs, SD memory cards, memory sticks, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, Millipede memory, racetrack memory, the like, or combinations thereof. In large enterprise environments, this data repository may contain terabytes of data representing millions of external device presence signals, impression data objects, privacy configuration data, and / or the like.
[0112] The components of system architecture 100 are each associated with computing devices configured to send and / or receive data via the BLE protocol. In an example embodiment, the components of system architecture 100 are configured for low power, short range data exchange in the 2.4 GHz frequency band. The components of system architecture 100 are configured for low power consumption by utilizing sleep modes to conserve energy between short bursts of data transmission. Additionally, the central system 102 is configured to send and / or receive data between the output device 110 and / or other sources, such as Internet sources, using a network. The network includes any wired or wireless communication network including, for example, a wired or wireless local area network (LAN), personal area network (PAN), metropolitan area network (MAN), wide area network (WAN), the like, or combinations thereof, as well as any hardware, software and / or firmware required to implement the network (e.g., network routers, etc.). For example, the network may include a cellular telephone, an 802.11, 802.16, 802.20, and / or WiMAX network. Further, the network may include a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to Transmission Control Protocol / Internet Protocol (TCP / IP) based networking protocols. In some embodiments, the protocol is a custom protocol of JSON objects sent via a WebSocket channel. In some embodiments, the protocol is JSON over RPC, JSON over REST / HTTP, the like, or combinations thereof. This robust networking infrastructure enables the central system 102 to efficiently communicate with the output device 110 and / or other Internet sources.
[0113] The external device 106 is configured to utilize a BLE device 104B to transmit and / or broadcast external device presence signals 108. The BLE device 104B is not managed by theAtty Docket No. 069902-640123 central system 102. In some embodiments, the external device 106 and the BLE device 104B are one in the same. In some embodiments, in an instance in which the external device 106 is not configured for BLE data transmission, the external device 106 may delegate BLE data transmission tasks to the BLE device 104B. The external device 106 may be embodied by a smartphone, tablet, laptop, desktop computer, smart TVs, wearable devices, smart speakers, gaming consoles, networking devices, vehicle devices, smart appliances, and / or any device capable of operating in accordance with the BLE protocol or utilizing a separate BLE device.
[0114] The BLE device 104 A (or any BLE device under management by the central system 102) is configured to receive the external device presence signals 108 and cache the external device presence signals 108 until an opportunity to relay the external device presence signals 108 to the central system 102 arises. As an example, the BLE device 104A is configured to transmit the external device presence signals 108 to the central system 102 when an element of the central system 102 is within range for BLE data transmission. As another example, the BLE device 104A is configured to transmit the external device presence signals 108 to the central system 102 via a hardwired connection when an element of the central system 102 is directly connected to the BLE device 104A. As another example, the BLE device 104A is configured to transmit the external device presence signals 108 to the central system 102 via an available wireless connection. To optimize power consumption, memory allocation, and be prepared to receive additional external device presence signals, the BLE device 104A may be configured to clear the external device presence signals 108 from memory upon successful upload to the central system 102.
[0115] Upon receiving the external device presence signals 108 from the BLE device 104A, the central system is configured to perform a plurality of communications, processing, and machine learning enabled functions associated with performing impression analytics, device monitoring, location tracking, privacy and safety management, logistics and supply chain management, transportation services, EVV, and object tracking functions described in more detail below with reference to FIGs 4A-12. As a result of performing operations and functions in the fields listed above, the central system 102 is configured to transmit output data 112A to the external device 106 and / or transmit output data 112B to the output device 110.Atty Docket No. 069902-640123Analysis
[0116] FIG. 4A depicts an example application of components of the system architecture 100 for performing impression analysis and estimation to generate impression analytics data. In the depicted example, a vehicle 402 is travelling along a route 400 and an advertisement is affixed to the vehicle 402. The BLE device 104A is also affixed to the vehicle 402 (e.g., the BLE device 104A is within the vehicle 402) such that it is positioned proximate to the advertisement. In some embodiments, the BLE device 104 A transmits a signal to the central system 102 that indicates that the BLE device 104A is configured with (e.g., in communication with) the vehicle 402. In this regard, the central system 102 generates an association between the BLE device 104A and the vehicle 402.
[0117] In embodiments in which the central system 102 is located within range of the BLE device 104A for BLE transmissions, and / or a wired / wireless connection is available between the central system 102 and the BLE device 104A, the BLE device 104A is configured to relay received data to the central system 102. In embodiments in which the central system 102 is not located within range of the BLE device 104A for BLE transmissions and / or a wired / wireless connection is not available, the BLE device 104A is configured to cache received data. In this regard, the BLE device 104A is configured to cache one or more external device presence signals and corresponding signal strengths and signal locations until a connection to the central system 102 becomes available.
[0118] As the vehicle 402 travels along the route 400, the BLE device 104A is configured to receive an external device presence signal 408 from the BLE device 104B associated with the external device 106. Upon receipt of the external device presence signal 408, the BLE device 104A is configured to store the external device presence signal 408, determine a signal strength of the external device presence signal 408, determine a signal location of the BLE device 104 A, and determine a timestamp corresponding to the moment the external device presence signal 408 was received.
[0119] FIG. 4B depicts the example application of system architecture 100 depicted by FIG. 4A after a period of time has passed. As shown, the vehicle 402 has progressed to a second location along the route 400 from its original location in FIG. 4A. At this second location, theAtty Docket No. 069902-640123BLE device 104 A receives an external device presence signal 410 from the BLE device 104B associated with the external device 106. Upon receipt of the external device presence signal 410, the BLE device 104A is configured to store the external device presence signal 410, determine a signal strength of the external device presence signal 410, determine a signal location of the BLE device 104A, and determine a timestamp corresponding to the moment the external device presence signal 410 was received.
[0120] The central system 102 is configured to generate one or more impressions analytics interface components based on the external device presence signal 408, the external device presence signal 410, and the corresponding signal strengths, signal locations, and timestamps. An impression analytics interface component is configured to visually represent a map interface comprising a plurality of interface elements to depict the route 400, signal locations associated with the location of the BLE device 104 A at the moment the external device presence signal 408 and the external device presence signal 410 were received, and a visual indictor associated with an approximate location of the external device 106 relative to the route 400.
[0121] As an example, upon receipt of the external device presence signal 408, the central system 102 is configured to update an impressions analytics interface component to include a visual indicator associated with the approximate location of the external device 106, as determined by the central system based on the signal strength, signal location, and timestamp. Then, upon receipt of the external device presence signal 410, the central system 102 is configured to update the position of the visual indicator on the impression analytics interface component to reflect an updated approximate location of the external device 106. The central system 102 is further configured to generate additional visual indicators for inclusion in the impressions analytics interface component in association with other external device presence signals received from other external devices. Example impressions analytics interface components are depicted and described in more detail below with regard to FIGs. 6-8.
[0122] FIG. 5 is a flowchart diagram of an example method 500 for performing functions related to impressions analytics via the central system 102. The operations of example method500 may be performed by the BLE signal processing apparatus 200 and / or the BLE apparatusAtty Docket No. 069902-640123300. The operations and functions of example method 500 are described in conjunction withFIGs. 4A-4B and FIGs. 6-8.
[0123] At block 502, the method 500 includes tracking, by the central system, locations of the BLE device 104A to establish the route 400. The central system 102 is configured to establish a route via pre-planned routing or real-time routing. In real-time routing, the central system 102 is configured to continuously track locations of one or more BLE devices (e.g., the BLE device 104A) to establish a route between two locations. The central system 102 is configured to store a linked series of timestamped location coordinates of locations of the BLE device 104 A to form the route 400. The route 400 may comprise any location traversed by the BLE device 104A.
[0124] To visually represent the route 400 via an impressions analytics interface component, the central system 102 is configured to overlay the linked series of timestamped location coordinate on a map interface. In some embodiments, via map data, real estate data, urban planning data, and / or the like, the central system 102 is configured to recognize that the route 400 is progressing in proximity to one or more buildings. In this regard, if the central system 102 determines that an approximate location of an external device is located within, or behind a building relative to the position of the BLE device 104 A, the central system 102 may ignore that external device when generating impression analytics data. Said differently, for example, a presence of a building may hinder the ability of a user associated with an external device from visually seeing the advertisement, therefore the central system 102 may not associate an impression with that external device.
[0125] At block 504, the method 500 includes receiving, by the central system using a BLE device, one or more external device presence signals comprising one or more external device identifiers from one or more external devices. The one or more external device presence signals are received by one or more BLE devices from one or more external devices. An external device presence signal comprises an external device identifier and may comprise additional parsable payload data. The BLE device that receives an external device presence signal is configured to determine a signal strength, signal location, and timestamp associated with reception of the external device presence signal. The one or more BLE devices are configured to cache the received external device presence signals and the corresponding signal strengths, signalAtty Docket No. 069902-640123 locations, and timestamps. When a connection between the central system and the one or more BLE devices is available, the one or more BLE devices are configured to transmit the cached data to the central system. In this regard, the central system receives the external device presence signals and corresponding signal strengths, signal locations, and timestamps using the one or more BLE devices.
[0126] The central system 102 is configured to receive one or more external device presence signals via the BLE device 104A. As opportunities to connect with the central system 102 arise, as discussed above, the BLE device 104A is configured to transmit the external device presence signal 408, the external device presence signal 410, and the corresponding signal strengths, signal locations, and timestamps to the central system 102.
[0127] At block 506, the method 500 includes determining, using a BLE device, a signal strength of each of the one or more external device presence signals. The BLE device 104A is configured to determine the signal strength of an incoming external device presence signal by measuring the power level of the incoming signal as it is received. For example, when the BLE device 104A receives the incoming signal, the BLE device 104A is configured to compute a Received Signal Strength Indicator (RS SI) value, which measures the power level of the incoming signal in dBm. A strong signal strength value (e.g., -50 dBm) may indicate that the incoming signal originated from an external device that is located in close proximity to the BLE device 104 A. A weak signal strength value (e.g., -120 dBm) may indicate that the incoming signal originated from an external device that is located in far from the BLE device 104A.
[0128] At block 508, the method 500 includes, determining, using a BLE device, a signal location and a timestamp upon receipt of each of the one or more external device presence signals. The BLE device 104A is configured to determine its signal location and a timestamp at the moment an external device presence signal is received. The signal location reflects the position of the BLE device 104 A at the moment the external device presence signal was received. For example, a BLE device may estimate its own location by receiving BLE signals from one or more BLE beacons positioned at known locations. In some embodiments, the BLE signals received from the one or more BLE beacons may comprise location coordinate data of the BLE beacons such that the BLE device 104 A determines its location to be at the location coordinatesAtty Docket No. 069902-640123 of the BLE beacon. In this regard, a BLE device determines the signal location based on location coordinate data received from one or more BLE beacons and the signal strength of those BLE signals (e.g., by implementing a trilateration technique). As another example, the BLE device may use a triangulation technique based on an Angle of Arrival (AoA) of incoming signals from BLE beacons in addition to the location coordinate data and / or signal strengths to determine a signal location. In some embodiments, external device is configured to transmit an identifier indicative of the external device together with an identifier of BLE devices 104 A, along with metadata (e.g., timestamp, signal strength, and / or the like) to the central system 102, and the central system 102 is then configured to determine the position of the BLE device 104A.
[0129] The central system 102 is configured to, based on the external device identifiers conveyed by the external device presence signal 408 and the external device presence signal 410, determine that the external device presence signal 408 and the external device presence signal 410 both originated from the same unique external device, the external device 106. External device presence signals are determined to originate from the same unique external device if they comprise matching external device identifiers.
[0130] At block 510, the method 500 includes generating, by the central system and based at least in part upon one or more external device presence signals, an impression data object for each of the one or more external device identifiers in the received one or more external device presence signals, wherein each impression data object comprises the signal location, the timestamp, and the signal strength for the one or more external device presence signals received for a corresponding external device identifier of the one or more external device identifiers. Impression data objects are stored in memory associated with the central system 102. Upon receiving an external device presence signal comprising an external device identifier that has not been previously observed by the central system 102, the central system 102 is configured to generate an impression data object associated with the external device identifier. The central system 102 is configured to reference existing impression data objects to determine if an external device identifier has been previously observed. If an external device identifier has been previously observed, its corresponding external device presence signal, signal strength, signal location, and timestamp are included in the existing corresponding impression data object. In thisAtty Docket No. 069902-640123 regard, an impression data object is generated comprising the external device presence signal408, the external device presence signal 410, and the corresponding signal strengths, signal locations, and timestamps.
[0131] If a third external device presence signal is received comprising an external device identifier that matches an external device identifier associated with the external device 106, the third external device presence signal and its associated signal strength, signal location, and timestamp, are included in the impression data object. Using this same procedure, the central system 102 is configured to generate an impression data object for each unique external device identifier received via any number of BLE devices.
[0132] In alternate embodiments, the BLE device 104 A may be configured to generate an impression data object for each of the one or more external device identifiers in the received one or more external device presence signals. In this regard, the BLE device 104A is configured to cache one or more impression data objects and transmit the one or more impression data objects to the central system 102 when a connection to the central system 102 is available.
[0133] At block 512, the method 500 includes generating, by the central system, external device location identifiers relative to the route using the impression data objects for each of the one or more external device identifiers. The central system 102 is configured to generate an external device location identifier based on each impression data object for each unique external device identifier detected. In this regard, the central system 102 is configured to determine an approximate location of the external device 106 based on the signal strengths, signal locations, and timestamps associated with each external device presence signal in the impression data object associated with the external device’s 106 external device identifier. The location of the external device is an approximation because it is computed as an estimation of position relative to the signal location and is determined based on the signal strength. In some embodiments, the approximate location may be refined if AoA data is available as determined by the BLE device. In this regard, the external device location identifier is generated relative to the route as a distance vector originating from the signal location. By combining the signal strength of the external device presence signals with the timestamp and signal location of the BLE device 104A at the moment the external device presence signals were detected, the central system 102 isAtty Docket No. 069902-640123 enabled to generate an external device location identifier for the external device 106 relative to the route 400 (e.g., by using a trilateration technique). As another example, if AoA data is available in association with the external device presence signals, the central system 102 is configured to improve the accuracy of generating an external device location identifier using a triangulation technique.
[0134] By affixing the BLE device 104A to the vehicle 402 moving along the route 400, the central system 102 is enabled to detect a plurality of external device presence signals originating from a plurality of external devices positioned in proximity to the route 400 External device presence signals originating from external devices located beyond BLE signal range from the route 400 may not be detected. In this regard, only external device presence signals originating from external devices located within BLE signal range of the route 400 may be detected. The central system 102 is configured to generate external device location identifiers comprising approximate locations of each external device.
[0135] Due to the limited range and reduced penetrative abilities of BLE signals, the central system 102 infers that an external device detected by the BLE device 104 A is positioned such that a user associated with the external device is capable of visually seeing the advertisement affixed to the vehicle 402, thus generating an impression by the advertisement on the user. Additionally, reception of an external device presence signal from an external device implies that a BLE signal transmitted on behalf of the central system 102 would be receivable by the external device. In this regard, the central system 102 may be configured to cause transmission of a BLE signal comprising data associated with the advertisement to the external device.
[0136] The central system 102 is configured to determine a total volume of external devices detected along the route 400 based on the number of unique external device identifiers received via a plurality of external device presence signals. For example, the central system 102 may determine that 50 external devices were detected along the route 400 if 50 unique external device identifiers were detected. However, estimating the total volume of advertisement impressions based solely on the total volume of external devices is an overestimation as it is unreasonable to assume that there is a 1 : 1 mapping of external devices to users capable of visually seeing the advertisement. For example, one person may be in possession of multiple external devicesAtty Docket No. 069902-640123 detected by the central system 102, such as a smartphone, a smartwatch, a laptop, a tablet etc. As another example, if the vehicle 402 travels in proximity to a home, the central system 102 may detect external device presence signals associated with smart appliances, parked cars, TVs, etc. Detection of these types of devices may not imply that a person is nearby and capable of visually seeing the advertisement. As another example, the vehicle 402 may be traveling alongside a bus carrying a large number of people each carrying one or more external devices. Due to the prolonged proximity between the vehicle 402 and this cluster of external devices, the central system 102 may receive a very large number of external device presence signals, though only one external device presence signal is necessary to indicate an advertisement impression for each external device.
[0137] The central system 102 is configured to utilize a variety of corrective measures to increase the accuracy of impression analytics data determined based on each of the impression data objects. Impression analytics data is configured to indicate a total volume of impressions created by the advertisement while the vehicle 402 traveled along the route 400 and approximate locations of the external devices associated with the impressions. For example, the central system 102 is configured to consider the total volume of impression data objects when generating impression analytics data to prevent overestimating impressions for impression data objects comprising more than one external device presence signal. In this regard, the central system 102 is configured to ignore second and subsequent external device presence signals associated with a unique external device by counting only one impression per unique external device identifier to prevent double counting of a unique external device when generating impression analytics data.
[0138] As another example, the central system 102 is configured to determine, based on one or more signal strengths, one or more signal locations, and / or one or more external device location identifiers, that a plurality of external devices comprising external device identifiers located in close proximity to each other may be associated with only one user. In this regard, the central system 102 is configured to award only one impression in association with a group of closely located external devices despite those external devices having unique external device identifiers. For example, the central system 102 is configured to count one impression in associated with a person in possession of a smartphone, smartwatch, and a laptop by determiningAtty Docket No. 069902-640123 that the smartphone, smartwatch, and laptop comprise external device location identifiers that are identical and / or closely located.
[0139] As another example, the central system 102 is configured to determine, based on one or more signal strengths, one or more signal locations, and / or one or more external device location identifiers, that an external device is travelling alongside the BLE device 104A. Similarly, the central system 102 is configured to ignore second and subsequent external device presence signals associated with an external device travelling alongside the BLE device 104A to prevent double counting of that external device when generating impression analytics data. For example, a bus carrying a large number of people each carrying one or more external devices will cause the central system 102 to continuously detect multiple external device presence signals from each external device over an extended period of time. In this regard, due to the tightly packed nature of buses, it is unreasonable to count this extremely large influx of external device presence signal as only one impression as described above with reference to only one person carrying multiple external devices. To overcome this issue, the central system 102 is configured to estimate the number of impressions (e.g., the number of people on the bus), based on all, some, and / or a statistically normal proportion of the average number of external devices that any given person may be in possession of. In this scenario, the central system 102 is configured to update external device location identifiers associated with each of the external devices to represent a most recent location (e.g., by ignoring external device presence signals associated with a timestamp that is older than a threshold value).
[0140] As another example, the central system 102 is configured to determine a device type of an external device based on an external device identifier received via an external device presence signal. The central system 102 is configured to infer, based on the device type, if an impression should be associated with the corresponding external device when generating impression analytics data. For example, an external device identifier of “John’s Phone” or “My Smartwatch” indicate a high likelihood that a person associated with that external device is visually capable of seeing the advertisement. However, an external device identifier of “Living Room TV” or “Smart Home Thermostat” indicate a low likelihood that a person associated with that external device is visually capable of seeing the advertisement. In an instance where externalAtty Docket No. 069902-640123 device identifiers comprise random characters (e.g., hashed external device identifiers), the central system 102 may count impressions in association with all, some, or a statistically normal proportion of those external device identifiers when generating impression analytics data.
[0141] As another example, the central system 102 is configured to determine a device type based on two or more timestamps associated with a unique external device. Some device types are known to broadcast external device presence signals at regular intervals (e.g., every 2 seconds). The central system 102 is configured to determine a device type by recognizing patterns in external device presence signal timestamps (e.g., based on known device type ping frequencies obtained from one or more databases and / or one or more Internet sources) and associate impressions with that external device based on the device type when generating impression analytics data. For example, a personal object tracker may be known to transmit an external device presence signal every 2 seconds. Personal object trackers are often affixed to valuable items such as luggage, packages, keys, wallets, purses, vehicles, pet collars, and / or the like. Therefore, when the central system determines a device type associated with a personal object tracker, the central system may not count an impression in association with the personal object tracker when generating impression analytics data.
[0142] As another example, external device presence signals may additionally comprise parsable payload data indicative of a device type and / or a likelihood that a person associated with that external device is visually capable of seeing the advertisement. The central system 102 is configured to account for additional payload data when generating impression analytics data.
[0143] At block 514, the method 500 includes generating, by the central system, an impressions analytics interface component comprising a map identifying the route and overlaying visual indicators for the impression data objects at the external device location identifiers. Overlaying visual indicators on the impression analytics interface component comprises rendering the visual indicator on a map interface at a location on the map interface that coincides with an external device location identifier. The central system 102 is configured to generate an impressions analytics interface component based on the impression data objects (e.g., the impression data objects associated with an advertisement impression based on the impression analytics data). An impressions analytics interface component is a graphical user interfaceAtty Docket No. 069902-640123 configured to visually represent a map interface comprising data received, and generated by, the central system 102 (e.g., the route 400, signal locations of the BLE device 104A, external device location identifiers associated with one or more external devices, etc.). The central system 102 is configured to transmit output data 112B representing an impressions analytics interface component to the output device 110. The output device 110 is configured to render impressions analytics interface components based on the output data 112B.
[0144] FIG. 6 depicts an example impressions analytics interface component 600 comprising a map identifying the route (illustrated by route interface element 602), a location along the route 604, and one or more visual indicators 606A-N. In the example embodiment depicted by impressions analytics interface component 600, each visual indicator 606A-N is positioned on the map to represent an external device location identifier associated with an external device presence signal received by the BLE device 104 A at a signal location depicted by the location along the route 604. In this regard, the visual indicators 606A-N depict approximate locations of external devices defined by corresponding external device location identifiers as generated by the central system 102 in association with when the advertisement and the vehicle 402 were located at the location along the route 604.
[0145] FIG. 7 depicts an example impressions analytics interface component 700 comprising a map identifying the route (illustrated by route interface element 702), a plurality of locations along the route 704A-N, and one or more visual indicators 706A-N. For example, a user of the output device 110 may select a signal location from a list, click on the map interface, and / or drag and drop an interface element to place one or more of the plurality of locations along the route 704A-N on the map interface. In the example embodiment depicted by impressions analytics interface component 700, each visual indicator 706A-N is positioned on the map to represent an external device location identifier associated with external device presence signals received by the BLE device 104 A at signal locations depicted by the plurality of locations along the route 704A-N. In this regard, the visual indicators 706A-N depict approximate locations of external devices defined by corresponding external device location identifiers as generated by the central system 102 throughout the journey of the advertisement and the vehicle 402 along the route between a starting location and a current location when viewing a live route in progress (or anAtty Docket No. 069902-640123 ending location when viewing a previously concluded route). Thus, the visual indicators 706A-N illustrate a total number of impressions made by the advertisement throughout the route. In some embodiments, the visual indicators 706A-N depict only external device location identifiers associated with an impression based on the impression analytics data.
[0146] As an example, user selection of one of the plurality of locations along the route 704A-N is configured to cause the output device 110 to render the impressions analytics interface component 600 described above. In this regard, a user may desire to view visual indicators and / or impression analytics data associated with a specific signal location. As another example, user selection of one of the visual indicators 706A-N is configured to cause the output device 110 to render the impressions analytics interface component 800 described below. In this regard, a user may desire to view visual indicators and / or impression analytics data associated with a specific external device, a specific geographical area, and / or a group of external devices.
[0147] FIG. 8 depicts an example impressions analytics interface component 800 comprising a map identifying the route (illustrated by route interface element 802), a plurality of locations along the route 804A-N, and a visual indicator 806. For example, a user of the output device 110 may select a signal location from a list, click on the map interface, and / or drag and drop an interface element to place one or more of the plurality of locations along the route 804A-N on the map interface. In the example embodiment depicted by impressions analytics interface component 800, the visual indicator is positioned on the map to represent an external device location identifier associated with external device presence signals received by the BLE device 104A at signal locations depicted by the plurality of locations along the route 804A-N. In this regard, the visual indicator 806 depicts an approximate location of an external device detected by the central system 102 at one or more of the plurality of locations along the route 804 A-N. The lines connecting the visual indicator 806 to three of the plurality of locations along the route 804 A-N indicate three signal locations at which the BLE device 104 A received an external device presence signal associated with that external device. The absence of lines connecting the visual indicator 806 to the other two of the plurality of locations along the route 804A-N indicates that the BLE device 104A did not receive any external device presence signals associated with that external device at those signal locations.Atty Docket No. 069902-640123
[0148] An impressions analytics interface component is configured to depict visual indicators and / or impression analytics data for previous routes managed by the central system 102, and / or a live route currently in progress. For example, user selection of a historical route via the output device 110 is configured to cause the output device 110 to render an impressions analytics interface component associated with that historical route.
[0149] In some embodiments, the central system 102 is configured to utilize a trained machine learning model to analyze impression data objects, impression analytics data, route data, external device location identifiers, and / or the like associated with a plurality of routes to generate predictions. As an example, a generating a prediction may comprise predicting one or more geographical locations and / or days / times that would result in a large number of advertisement impressions if an advertisement were to be present at that location during a certain day / time.Peer-to-Peer Location Sharing and Privacy
[0150] FIG. 9 depicts an example peer-to-peer network 902. The peer-to-peer network 902 comprises three member devices 904A-C Each of the member devices 904A-C is an external device. Each member device 904A-C may have a corresponding profile managed by the central system 102 (which manages the peer-to-peer network 902 in certain embodiments). These profiles may define privacy configuration data for each user (and corresponding member device 904A-C), and may define subscriptions / subscribers for sharing location data. The subscriptions for a particular member device (and corresponding member) may identify the other member devices for which the member would like to view locations. The subscribers for a particular member device (and corresponding member) may identify the other member devices (and members) that subscribe to view the location of the member device. By virtue of inclusion in the peer-to-peer network 902 and subscriptions between the illustrated example member devices 904A-C, each member device 904A-C is configured to receive location data and additional data associated with each of the other member devices. Although the illustrated embodiment shows only 3 member devices that each subscribe to view the locations of another, it should be understood that the peer-to-peer network 902 is not limited in number or in subscription configurations. In some embodiments, some member devices (and corresponding members andAtty Docket No. 069902-640123 profiles) may not subscribe to other member device locations. In such embodiments, member devices that are not subscribers to locations of other devices cannot view the location of those other devices (unless they later become subscribers). Each member device 904A-C is configured to enable a user to configure privacy configuration data to control the manner in which their location data and additional data is shared with the other members of the peer-to-peer network 902. The privacy configuration data may utilize a variety of different BLE signal characteristics in establishing privacy configuration data. The privacy configuration data may utilize BLE signal identities for certain preferences; BLE signal volume (e.g., the number of BLE signals detected) for certain preferences; BLE signal changes (e.g., detecting a known BLE signal, and then subsequently losing connection with the known BLE signal) for certain preferences; and / or the like.
[0151] In some embodiments, a user defines one or more predetermined restricted areas as a part of privacy configuration data by selecting one or more BLE beacons having associated geographical areas and / or by defining one or more geographical areas. In such embodiments, the privacy configuration data comprises an identification of a privacy action that is applicable for each predetermined restricted area stored in the privacy configuration data for the user. In such embodiments, the central system 102 applies the corresponding privacy configuration data for the user when detecting the user as being within the predetermined restricted area, such as when the central system 102 determines that the user’s external device is in communication with a BLE beacon at the predetermined restricted location. For example, a privacy action may comprise obfuscating a location of the user’s external device accessible to member devices of the peer-to- peer network 902 when a BLE beacon managed by the central system 102 and associated with a predetermined restricted area detects external device presence signals transmitted from the user’s external device. As another example, a privacy action may comprise broadcasting location data via a message (e.g., via an alert, a push notification, a text message, an email, and / or the like) to member devices of the peer-to-peer network 902 when a BLE beacon managed by the central system 102 and associated with a predetermined restricted area detects external device presence signals transmitted from the user’s external device.Atty Docket No. 069902-640123
[0152] In some embodiments, a user defines a routine (e.g., one or more locations, days, and / or times that external device presence signals associated with a user’s external device is expected to be detected by a certain BLE beacon) as a part of privacy configuration data. The privacy configuration data may comprise a table or other listing of locations and times for the user’s routine (e.g., as defined manually by the user or defined automatically, such as using output of an Al model that analyzes location data for the user. In some embodiments, the routine is defined as encompassing a plurality of training data sets that are used to train a model to identify deviations from a routine for a user, and no explicit table or other data store is required. In such embodiments, the current location of a user (as determined from an external device, such as based on a determination that the external device is in communication with a BLE device) may be provided as input to the Al model (e.g., a user-specific location analysis Al model), which outputs an indication of whether the current location of the user is consistent with the user’s routine or not. In such embodiments, the privacy configuration data identifies one or more privacy actions that are applicable when it is determined that the user deviates from the routine. For example, a privacy action may comprise broadcasting location data to member devices of the peer-to-peer network 902 that subscribe to the location of the user device when external device presence signals associated with a user’s external device are not detected by the certain BLE beacon at the predefined locations, days, and / or times (e.g., detection of a routine anomaly).
[0153] In some embodiments, a user defines crowd detection criteria (e.g., generating impression data objects with regard to a user’s external device to detect nearby external devices to estimate a crowd size) as a part of privacy configuration data and corresponding privacy actions based on a size of a nearby crowd. For example, detecting that a user’s external device is present in a large crowd (e.g., by detecting that the user’s external device is in BLE communication with a large number (e.g., greater than a threshold number) of devices) may imply that the user is not in danger. In some embodiments, these privacy configuration data may be time-dependent, such that the crowd detection criteria and corresponding privacy actions are only applicable during certain defined time periods (e.g., between 10PM-6AM). As another example, detecting that a user’s external device is not surrounded other external devices (e.g., detecting that the user’s external device is not in BLE communication with any other devices) may imply that the user is in danger (especially when detected late at night (e.g., after a specifiedAtty Docket No. 069902-640123 time or after an Al-determined time threshold defining late-night safety criteria)), that the user has been separated from their external device, etc. A privacy action corresponding to the crowd detection criteria (e.g., a privacy action that is implemented by the central system 102 when the crowd detection criteria is satisfied) may comprise broadcasting location data to the member devices of the peer-to-peer network 902 based on one or more impression data objects for estimating a crowd size. As a specific example, the central system 102 may broadcast location data of the user to member devices that subscribe to the location of the user device when the detected crowd size falls below a defined threshold during a particular time period.
[0154] In some embodiments, the central system 102 identifies events associated with a user’s calendar to adjust expectations for locations, days, and / or times that the central system 102 expects to detect external device presence signals associated with the user’s external device according to the privacy configuration data. For example, scheduled events identified in a calendar may cause routine anomalies (but expected anomalies), but an expected routine may be updated by integrating with a user’s calendar. The central system 102 may pull data from a user’s calendar (e.g., Google Calendar, iCal, Outlook, and / or the like), compare the data against a routine (using an Al model as discussed above or by comparing against a listing of events / times that collectively define a routine for the user), and update (temporarily) the routine to accommodate the scheduled event in the user’s calendar. The central system 102 may utilize the updated routine for one or more privacy actions. As a first example, a privacy action may comprise broadcasting location data to the member devices of the peer-to-peer network 902 that subscribe to location data of a user with a message describing that a user has arrived at / departed from a scheduled event. As a second example, a privacy action may comprise broadcasting location data to the member devices of the peer-to-peer network 902 that subscribe to location data of a user with a message describing the location of the user if the user deviates from the temporary routine (which includes the scheduled event).
[0155] In some embodiments, a user identifies one or more temporary and / or permanent “buddy devices” as a part of the privacy configuration data. A buddy device is an external device that is expected to be detected in close proximity to the user’s external device (e.g., in BLE communication with the user’s external device) at a predefined location and / or during aAtty Docket No. 069902-640123 predefined time period. The identity of the buddy device, the applicable location, and / or the applicable time period may be defined in a member’s profile, together with privacy actions that apply as long as the buddy device is in BLE communication with the user’s external device, or privacy actions that apply as soon as the buddy device is no longer in BLE communication with the user’s external device. For example, a privacy action may comprise broadcasting location data to the member devices of the peer-to-peer network 902 that subscribe to the location of the user device when a distance between an external device location identifier associated with the buddy device and an external device location identifier associated with the user’s external device surpasses a predefined threshold (which may be determined as being when the external device is no longer in communication via BLE with the buddy device). Conversely, a privacy action may comprise obfuscating location data broadcast to the member devices of the peer-to-peer network 902 when an external device location identifier associated with the buddy device and an external device location identifier associated with the user’s external device does not surpass a predefined threshold (which may be determined as being when the external device is in communication via BLE with the buddy device).
[0156] The central system 102, via a web of BLE devices positioned strategically in an environment, is configured to control the distribution of location data and additional data between each of the member devices 904 A-C in accordance with each member’s privacy configuration data.
[0157] FIG. 12 is a flowchart diagram of an example method 1200 for performing functions related to peer-to-peer location sharing and privacy via the central system 102. The operations of example method 1200 may be performed by the BLE signal processing apparatus 200 and / or the BLE apparatus 300. The operations and functions of example method 1200 are described in conjunction with FIGs. 10-11.
[0158] At block 1202, the method 1200 includes determining, by the central system, an association between privacy configuration data and an external device identifier associated with an external device. A user is enabled to configure their privacy configuration data. The central system 102 is configured to associate privacy configuration data (as discussed above, defining various privacy actions that apply in different scenarios) with a user profile (member profile) asAtty Docket No. 069902-640123 discussed above). In some embodiments, the external device associated with a user is a member device of the peer-to-peer network 902. Additionally, the member devices 904A-C are each associated with a user profile FIG. 10 depicts an example application of components of the system architecture 100 for performing peer-to-peer location sharing and privacy functions. In the depicted example, the central system 102 is configured to manage one or more BLE devices, such as the BLE device 104A. The member device 904A is an external device associated with the user and is configured to utilize the BLE device 104B to receive, broadcast, and / or transmit BLE signals between one or more BLE devices and BLE beacons managed by the central system.
[0159] At block 1204 of the method 1200, the BLE device 104A (e.g., a BLE beacon) detects an external device presence signal comprising an external device identifier that was broadcast and / or transmitted by the member device 904A via the BLE device 104B. In this regard, the member device 904A is configured to broadcast and or transmit external device presence signals 1008 to the BLE device 104A. In some embodiments, the external device presence signals 1008 additionally comprise privacy configuration data that may be stored locally at the BLE device 104B and / or may be downloaded from the central system 102 to the BLE device 104B for broadcast to the BLE device 104 A. The BLE device 104A is configured to receive the external device presence signals 1008 from the BLE device 104B. The BLE device 104A (or any BLE device under management by the central system 102) is configured to receive the external device presence signals 1008 and cache the external device presence signals 1008 until an opportunity to relay the external device presence signals 1008 together with an identifier of the BLE device 104 A (that may be indicative of the location of the BLE device 104B) to the central system 102 arises.
[0160] In alternate embodiments, the BLE device 104A is configured broadcast a BLE signal that indicates presence, identification, and / or location data associated with the BLE device 104A. If the member device 904A is within BLE signal range of the BLE device 104A, the member device 904 A receives the BLE signal from the BLE device 104 A. The member device 904A is configured to determine a signal strength of the BLE signals. Additionally, the member device 904A is configured to determine, based on the signal strength and the presence, identification, and / or location data, an approximate location of the member device 904A inAtty Docket No. 069902-640123 reference to the location of the BLE device 104A. In this regard, the member device 904A may determine that its own approximate location is associated with a predetermined restricted area and may broadcast low resolution location data indicating an obfuscation of the approximate location of the member device 904A. Alternatively, the member device 904A may broadcast an identifier together with data identifying the BLE device 104 A, BLE signal strength, and timestamp (and in some embodiments, a status update) to the central system 102, which may look-up privacy configuration data corresponding to the member device 904A in a profile and may broadcast the location of the member device 904A according to the privacy configuration data to subscribing member devices. Similarly, the member device 904A may be configured to broadcast a status update in association with the predetermined restricted area.
[0161] In certain embodiments, the central system 102 is configured to store privacy configuration data as defined based at least in part on user input received via a member device and determine an association between the privacy configuration data and the external device identifier . Since BLE protocols may cause external device identifiers to rotate or change, the central system 102 is further configured to associate the privacy configuration data with a user profile. By virtue of inclusion in the peer-to-peer network 902, the member device 904A may be configured to include the user identifier in the external device presence signals 1008.
[0162] As described above, upon receipt of the external device presence signals 1008, the central system 102 is configured to determine, using the BLE device 104A, signal strengths, signal locations, and external device location identifiers for the external device presence signals 1008 associated with the member device 904 A to determine an approximate location of the member device 904A.
[0163] At block 1206, the method 1200 includes determining, by the central system, a privacy action stored in the privacy configuration data in a profile that is applicable based on detection of the external device presence signals 1008 and / or the approximate location of the member device 904A. As an example, the privacy configuration data may comprise instructions for executing a privacy action if the approximate location of the member device 904A is associated with a predetermined restricted area. FIG. 11 depicts an example environment 1100 comprising a predetermined restricted area 1106. A plurality of BLE devices 104A, 1102, andAtty Docket No. 069902-6401231104 are strategically placed in the example environment 1100 to detect the external device presence signals 1108 emitted by the member device 904A via the BLE device 104B. If the central system 102 determines that the approximate location of the member device 904A is associated with the predetermined restricted area 1106, the central system 102 is configured to execute a privacy action defined by the privacy configuration data associated with the member device 904A.
[0164] At block 1208, the method 1200 includes broadcasting, by the central system, location data based at least in part on a privacy action. The central system 102 is configured to broadcast location data 1002 to each member device of the peer-to-peer network 902 in accordance with the privacy action defined in the privacy configuration data associated with the member device 904A. For example, when the central system 102 determines that the approximate location of the member device 904A is associated with the predetermined restricted area 1106, the central system 102 is configured to restrict the member devices of the peer-to-peer network 902 from accessing to location data indicative of the approximate location of the member device 904A. In this regard, restricting access may comprise not broadcasting the location data 1002 to the peer-to-peer network 902, broadcasting low resolution location data comprising an obfuscated approximate location of the member device 904A such that the member devices 904B and 904C are not enabled to obtain the actual approximate location of the member device 904A, and / or causing the member device 904A itself to broadcast low resolution location data using the BLE device 104B.
[0165] As another example, the central system 102 may be configured to broadcast location data 1002 in accordance with a privacy action by determining that the external device presence signals 1008 comprise a status update and enabling the member devices of the peer-to-peer network 902 to access the status update by including the status update as additional data in the location data 1002. In some embodiments, the central system 102 is configured to cause the member device 904 A to broadcast the status update via the BLE device 104B.
[0166] As an example, a status update can be quickly set, selected, configured, and / or broadcast by a user providing user input to a user interface on their member device. A status update may comprise pre-programmed options made available based on the approximate locationAtty Docket No. 069902-640123 of the member device 904A. For example, when the member device 904A is determined to be located in the predetermined restricted area 1106, example status update options may comprise ‘I’m all good’, ‘Just chilling’, ‘Emergency’, ‘I need help’, and / or the like. The user is enabled to quickly select a status update to cause location data 1002 and the status update to be broadcast to the member devices of the peer-to-peer network 902.
[0167] As another example, a status update may comprise a custom message typed by a user. A user is enabled to cause the location data 1002 and the status update to be broadcast to the member devices of the peer-to-peer network 902 that subscribe to the location of the user immediately upon selection of the status update, and / or upon detection of the member device 904A at a predefined location based on the privacy configuration data.
[0168] Additionally, a status update may be associated with a privacy action configured in the privacy configuration data. Particularly for predefined / selectable statuses, the central system 102 may look-up a privacy action based on the status update provided by the user. However, for status updates entered as custom messages, the central system 102 may (a) store certain statuses (identified by a keyword or phrase) together with privacy actions in the privacy configuration data, and (b) the central system 102 may utilize an Large Language Model, fuzzy matching algorithm, (or other Al-based model) to identify similarities between a custom message entered by a user and the stored statuses to determine whether a particular privacy action is applicable, even if the custom status message does not match exactly with the status stored in the privacy configuration data.
[0169] The central system 102 is configured to utilize a trained machine learning model to track, establish, and analyze a routine of the member device 904A. For example, the privacy configuration data may comprise information related to a student’s class schedule. In this regard, the trained machine learning model may recognize that a BLE device strategically positioned in association with an academic building routinely detects external device presence signals associated with the member device 904A at days and / or times that align with the normal location movement patterns of the member device 904A. Therefore, the trained machine learning model is enabled to determine routine anomalies when a member device 904A is not detected by the BLE device near the academic building on a certain day and / or time.Atty Docket No. 069902-640123
[0170] The BLE device positioned at the academic building is configured with an external device identifier that uniquely identifies the academic building. In this regard, the trained machine learning model is configured to determine that the external device presence signals detected by this BLE device are associated with the location of the academic building.
[0171] As another example, the privacy configuration data may comprise information related to a home location. In this regard, the trained machine learning model may recognize that a BLE device strategically positioned in association with the home location routinely detects external device presence signals associated with the member device 904A at days and / or times that align with the normal location movement patterns of the member device 904A. Therefore, the trained machine learning model is enabled to determine routine anomalies when a member device 904A is detected by a different BLE device positioned far from the home location on a certain day and / or time.
[0172] The BLE device positioned at the home location is configured with an external device identifier that uniquely identifies the home location. In this regard, the trained machine learning model is configured to determine that the external device presence signals detected by this BLE device are associated with the location of the home location.
[0173] Over time, the trained machine learning model constructs a routine for with the user profile associated with the member device 904A by analyzing location movement patterns, scheduled events, and additional information defined by the privacy configuration data on a daily, weekly, and / or monthly basis. Based on the established routine, the trained machine learning model is configured to predict where, when, and by which BLE devices external device presence signals associated with the member device 904A will be detected. The trained machine learning model may detect a routine anomaly when an unexpected BLE device detects an external device presence signal associated with the member device 904A at an unexpected time. Conversely, the trained machine learning model may determine a routine anomaly based on an absence of external device presence signals associated with the member device 904A at an expected BLE device at an expected time. As discussed above, the central system 102 may broadcast location data of a user according to the privacy configuration data and a determination of whether the users actions are consistent with a routine, or deviate from the routine.Atty Docket No. 069902-640123
[0174] Upon determination of a routine anomaly by the trained machine learning model, the central system 102 is configured to broadcast the location data 1002 based on privacy actions in accordance with the privacy configuration data associated with the member device 904 A. For example, the central system 102 may be configured to enable the member devices of the peer-to- peer network 902 to access one or more emergency response features by including the routine anomaly as additional data in the location data 1002. The emergency response features enable the members of the peer-to-peer network 902 to dial an emergency phone number, contact the user of the member device 904A, alert local authorities or first responders, and / or the like.
[0175] As another example, carrying out a privacy action may involve the central system 102 being configured to transmit a signal to one or more BLE devices to relay via BLE to the member device 904A to cause the member device 904A to automatically record audio and video data, store the audio and video data, and transmit the audio and video data to a secure device, such as the central system 102, the member devices 904B and 904C, or a separate device defined in the privacy configuration data. In an emergency situation, this audio and video data may better enable first responders to locate, attend to, and provide care to the user, as well as investigate an incident. The central system may be configured to transmit this BLE signal based on a status update, detection of the member device 904 A at the predetermined restricted area 1106, separation of the member device 904A from a buddy device, and / or the like.
[0176] As another example, the central system 102 is configured to transmit safety data to the member device 904A in response to detection of a routine anomaly. The central system 102 is configured to curate the safety data based on the approximate location of the member device 904A, the time of day, day of week, or identity of other detected nearby devices (if any). The safety data may comprise navigational instructions from the approximate location of the member device 904A to a predetermined secure location, such as a police station, a friend’s house, a church, and / or the like. In this regard, the central system 102 is configured to determine the predetermined secure location based on the approximate location of the member device 904A, the day / time, the privacy configuration data, one or more databases, and / or one or more Internet sources.Atty Docket No. 069902-640123
[0177] As another example, safety data may comprise emergency contact information, medical information (e.g., allergies, medications, blood type, health insurance details), first aid information, CPR information, fire escape plans, shelter-in-place instructions, generator information, newsletters, articles, video links, and / or the like. The central system 102 is configured to determine these types of information based on the approximate location of the member device 904A, the day / time, the privacy configuration data, one or more databases, and / or one or more Internet sources.
[0178] Transmission of safety data to the member device 904A enables the member device 904A to present the safety data to the user in the form of an alert, a push notification, a text message, an email, and / or the like. Additionally, the central system 102 is configured to broadcast the safety data to the members of the peer-to-peer network 902.
[0179] In certain embodiments, a first member (e.g., using a member device) can access a user interface for providing location data of a plurality of other members for which the first member subscribes. As a specific example, the user interface may comprise one or more map interfaces displaying an overlaid visual indicator reflecting the location of each of the plurality of other members, subject to any privacy actions of location data 1002 (e.g., obfuscating the exact location, providing status updates, indicating a location anomaly, and / or the like).
[0180] The central system 102 is configured to utilize one or more BLE devices to determine that a user of the member device 904A is driving based on one or more signal strengths, signal locations, and external device location identifiers received via the external device presence signals 1008. The central system 102 is configured to utilize a trained machine learning model to analyze the external device presence signals 1008 to determine one or more safe driving habits. For example, the trained machine learning model is configured to determine a speed of the member device 904 A based on two or more external device presence signals and determine a safe driving habit based on a speed limit of a road associated with the approximate location of the member device 904. Upon determining one or more safe driving habits, the central system 102 is configured to transmit positive reinforcement data to the member device 904A.
[0181] By strategically positioning BLE devices throughout the environment 1100 to detect external device presence signals 1008 from member devices of the peer-to-peer network 902, theAtty Docket No. 069902-640123 central system 102 is configured to distribute location data 1002, routine anomalies, status updates, emergency response features, and positive reinforcement data to enhance the safety of the users of each member device, while simultaneously preserving the privacy of the users of each member device by adhering to their privacy configuration data.
[0182] The system architecture 100 and the central system 102 are extensible to operate and perform many functions beyond impression analysis and estimation and peer-to-peer location sharing and privacy. By strategically positioning BLE devices throughout an environment and / or affixing BLE devices to various objects and structures, the central system 102 is enabled to solve technical problems related to logistics and supply chain management, transportation services, EVV, and object tracking.
[0183] By affixing BLE devices to packages, shipping labels, delivery vehicles, and / or delivery locations, the central system 102 is enabled to manage supply chain and delivery logistics to track and verify successful deliveries. For example, delivery of a package ordered in association with an external device can be verified via receipt of external device presence signals by a BLE device affixed to the package from the external device. Due to the limited range and penetrative abilities of BLE signals, detection of external device presence signals from the external device confirms that the package is located in close proximity to the external device. Therefore, deliveries can be verified in an automated manner without requiring further action by a delivery entity.
[0184] By affixing BLE devices within public transit systems, the central system 102 is enabled to facilitate transportation fare transactions without requiring further action by a passenger beyond preconfiguring a payment method. When a passenger carrying an external device boards a public transit vehicle, the BLE devices detect the external device presence signals broadcast by the external device. Further detection of additional external device presence signals confirms that the passenger is still on board. The central system 102 is configured to infer that a passenger exited the public transit vehicle when external device presence signals associated with their external device are no longer detected. The central system 102 is configured to determine an appropriate fare to charge the passenger based on the distance traveled, a number ofAtty Docket No. 069902-640123 stops passed, or in accordance with a predetermined fare structure, and facilitate an automated transaction based on the appropriate fare and the payment method.
[0185] By affixing BLE devices to medical equipment associated with in-home care visits and / or the site of an in-home care visit, the central system 102 is enabled to facilitate EVV operations to track when, where, and who is facilitating the in-home care visit and the duration of the in-home care visit to ensure medical services are be carried out properly and to prevent medical fraud. When a medical service professional arrives at the site of an in-home care visit carrying an external device, the BLE devices detect external device presence signals broadcast by the external device. Further detection of additional external device presence signals confirms that the medical service professional is still present. The central system 102 is configured to infer that the medical service professional concluded the in-home care visit when external device presence signals associated with their external device are no longer detected. The central system 102 is configured to record the necessary details to verify that the in-home care visit was carried out appropriately.
[0186] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.
Claims
Atty Docket No. 069902-640123CLAIMS1. An apparatus comprising: a Bluetooth low energy (BLE) device; and at least one processor and a memory storing instructions that are operable, when executed by the at least one processor, to cause the apparatus to: track locations of the apparatus to establish a route; receive, using the BLE device, one or more external device presence signals, comprising one or more external device identifiers from one or more external devices; determine, using the BLE device, a signal strength of each of the one or more external device presence signals; determine a signal location of the apparatus and a timestamp upon receipt of each of the one or more external device presence signals; generate, based at least in part on the one or more external device presence signals, an impression data object for each of one or more external device identifiers in the received one or more external device presence signals, wherein each impression data object comprises the signal location, the timestamp, and the signal strength for the one or more external device presence signals received for a corresponding external device identifier of the one or more external device identifiers; generate external device location identifiers relative to the route using the impression data objects for each of the one or more external device identifiers; and generate an impressions analytics interface component comprising a map identifying the route and overlaying visual indicators for the impression data objects at the external device location identifiers.
2. The apparatus of claim 1, wherein the BLE device is affixed to a vehicle.
3. The apparatus of claim 1, wherein the one or more external device presence signals are BLE signals received from one or more external devices.
4. The apparatus of claim 1, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining that at least two of the one or more external device presence signals originated from unique external devices.Atty Docket No. 069902-6401235. The apparatus of claim 1, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining a volume of external devices based on each of the one or more external device identifiers in the received one or more external device presence signals.
6. The apparatus of claim 1, wherein generating the impression data object for each of the one or more external device identifiers further comprises: generating impression analytics data based on one or more impression data objects associated with one or more unique external devices.
7. The apparatus of claim 1, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on the one or more signal strengths, that the external device is moving with the BLE device.
8. The apparatus of claim 1, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on an external device identifier of an external device presence signal, a device type of an external device.
9. The apparatus of claim 1, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on two or more timestamps of two or more external device presence signals associated with a first external device, a device type of the first external device.
10. The apparatus of claim 7, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on the one or more signal strengths and one or more timestamps of one or more external device presence signals, an approximate location of the external device.
11. The apparatus of claim 1, wherein each of the visual indicators overlaid on the map represent a unique external device.Atty Docket No. 069902-64012312. The apparatus of claim 11, wherein the visual indicators are located on the map at a signal location associated with a first reception of an external device presence signal associated with a corresponding unique external device.
13. The apparatus of claim 1, wherein the impressions analytics interface component depicts a number of impression data objects at a plurality of locations along the route.
14. The apparatus of claim 1, wherein the impressions analytics interface component depicts one or more visual indicators corresponding to one or more impression data objects associated with a location along the route.
15. The apparatus of claim 14, wherein the one or more visual indicators do not correspond to one or more impression data objects not associated with the location along the route.
16. A method comprising: tracking locations of an apparatus to establish a route; receiving, using a Bluetooth low energy (BLE) device, one or more external device presence signals, comprising one or more external device identifiers from one or more external devices; determining, using the BLE device, a signal strength of each of the one or more external device presence signals; determining a signal location of the apparatus and a timestamp upon receipt of each of the one or more external device presence signals; generating, based at least in part on the one or more external device presence signals, an impression data object for each of one or more external device identifiers in the received one or more external device presence signals, wherein each impression data object comprises the signal location, the timestamp, and the signal strength for the one or more external device presence signals received for a corresponding external device identifier of the one or more external device identifiers; generating external device location identifiers relative to the route using the impression data objects for each of the one or more external device identifiers; and generating an impressions analytics interface component comprising a map identifying the route and overlaying visual indicators for the impression data objects at the external device location identifiers.Atty Docket No. 069902-64012317. The method of claim 16, wherein the BLE device is affixed to a vehicle.
18. The method of claim 16, wherein the one or more external device presence signals are BLE signals received from one or more external devices.
19. The method of claim 16, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining that at least two of the one or more external device presence signals originated from unique external devices.
20. The method of claim 16, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining a volume of external devices based on each of the one or more external device identifiers in the received one or more external device presence signals.
21. The method of claim 16, wherein generating the impression data object for each of the one or more external device identifiers further comprises: generating impression analytics data based on one or more impression data objects associated with one or more unique external devices.
22. The method of claim 16, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on the one or more signal strengths, that the external device is moving with the BLE device.
23. The method of claim 16, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on an external device identifier of an external device presence signal, a device type of an external device.
24. The method of claim 16, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on two or more timestamps of two or more external device presence signals associated with a first external device, a device type of the first external device.Atty Docket No. 069902-64012325. The method of claim 22, wherein generating the impression data object for each of the one or more external device identifiers further comprises: determining, based on the one or more signal strengths and one or more timestamps of one or more external device presence signals, an approximate location of the external device.
26. The method of claim 16, wherein each of the visual indicators overlaid on the map represent a unique external device.
27. The method of claim 26, wherein the visual indicators are located on the map at a signal location associated with a first reception of an external device presence signal associated with a corresponding unique external device.
28. The method of claim 16, wherein the impressions analytics interface component depicts a number of impression data objects at a plurality of locations along the route.
29. The method of claim 16, wherein the impressions analytics interface component depicts one or more visual indicators corresponding to one or more impression data objects associated with a location along the route.
30. The method of claim 29, wherein the one or more visual indicators do not correspond to one or more impression data objects not associated with the location along the route.
31. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions to: track locations of an apparatus to establish a route; receive, using a Bluetooth low energy (BLE) device, one or more external device presence signals, comprising one or more external device identifiers from one or more external devices; determine, using the BLE device, a signal strength of each of the one or more external device presence signals; determine a signal location of the apparatus and a timestamp upon receipt of each of the one or more external device presence signals; generate, based at least in part on the one or more external device presence signals, an impression data object for each of one or more external device identifiers in the received one orAtty Docket No. 069902-640123 more external device presence signals, wherein each impression data object comprises the signal location, the timestamp, and the signal strength for the one or more external device presence signals received for a corresponding external device identifier of the one or more external device identifiers; generate external device location identifiers relative to the route using the impression data objects for each of the one or more external device identifiers; and generate an impressions analytics interface component comprising a map identifying the route and overlaying visual indicators for the impression data objects at the external device location identifiers.
32. The computer program product of claim 31, wherein the BLE device is affixed to a vehicle.
33. The computer program product of claim 31, wherein the one or more external device presence signals are BLE signals received from one or more external devices.
34. The computer program product of claim 31, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: determine that at least two of the one or more external device presence signals originated from unique external devices.
35. The computer program product of claim 31, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: determine a volume of external devices based on each of the one or more external device identifiers in the received one or more external device presence signals.
36. The computer program product of claim 31, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: generate impression analytics data based on one or more impression data objects associated with one or more unique external devices.Atty Docket No. 069902-64012337. The computer program product of claim 31, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: determine, based on the one or more signal strengths, that the external device is moving with the BLE device.
38. The computer program product of claim 31, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: determine, based on an external device identifier of an external device presence signal, a device type of an external device.
39. The computer program product of claim 31, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: determine, based on two or more timestamps of two or more external device presence signals associated with a first external device, a device type of the first external device.
40. The computer program product of claim 37, wherein the program code instructions to generate the impression data object for each of the one or more external device identifiers further comprise program code instructions to: determine, based on the one or more signal strengths and one or more timestamps of one or more external device presence signals, an approximate location of the external device.
41. The computer program product of claim 31, wherein each of the visual indicators overlaid on the map represent a unique external device.
42. The computer program product of claim 41, wherein the visual indicators are located on the map at a signal location associated with a first reception of an external device presence signal associated with a corresponding unique external device.
43. The computer program product of claim 31, wherein the impressions analytics interface component depicts a number of impression data objects at a plurality of locations along the route.Atty Docket No. 069902-64012344. The computer program product of claim 31, wherein the impressions analytics interface component depicts one or more visual indicators corresponding to one or more impression data objects associated with a location along the route.
45. The computer program product of claim 44, wherein the one or more visual indicators do not correspond to one or more impression data objects not associated with the location along the route.
46. An apparatus comprising: a Bluetooth low energy (BLE) device; and at least one processor and a memory storing instructions that are operable, when executed by the at least one processor, to cause the apparatus to: store privacy configuration data in the memory for the apparatus; detect, using the BLE device, an external device presence signal, wherein external device presence signal comprises an external device identifier; determine a privacy action stored in the privacy configuration data for the external device identifier, wherein the privacy action applies while the apparatus detects the external device presence signal comprising the external device identifier; and broadcast location data for the apparatus based at least in part on the privacy action.
47. The apparatus of claim 46, wherein the external device identifier is associated with a member of a peer-to-peer network.
48. The apparatus of claim 47, wherein the approximate location of the external device is accessible to one or more members of the peer-to-peer network.
49. The apparatus of claim 48, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: determining, based on the privacy configuration data, that the approximate location of the external device is associated with a predetermined restricted area; and restricting the one or more members of the peer-to-peer network's access to the approximate location of the external device.Atty Docket No. 069902-64012350. The apparatus of claim 48, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: determining that the external device presence signal further comprises a status update; and enabling access to the status update to the one or more members of the peer-to-peer network.
51. The apparatus of claim 48, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: determining, based on the approximate location of the external device and using a trained machine learning model, a routine anomaly.
52. The apparatus of claim 51, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: enabling access to one or more emergency response features to the one or more members of the peer-to-peer network.
53. The apparatus of claim 51, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: causing recording of audio and video data via the external device; and causing transmission of the audio and video data to a secure device.
54. The apparatus of claim 51, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: transmitting safety data to the external device based on the approximate location of the external device.
55. The apparatus of claim 49, wherein the external device is configured to broadcast low resolution location data associated with the approximate location of the external device based at least in part on a location of a second BLE device.
56. The apparatus of claim 50, wherein the external device is configured to broadcast the status update using a second BLE device.Atty Docket No. 069902-64012357. A system comprising one or more processors and a memory, wherein the one or more processors are configured for: determining an association between privacy configuration data and an external device identifier associated with an external device; receiving, from the external device, data identifying a Bluetooth low energy (BLE)-based presence signal identifying a BLE beacon in communication with the external device; determining a privacy action based on the privacy configuration data associated with the external device identifier, wherein the privacy action applies while the BLE beacon is in communication with the external device; and broadcasting location data for the external device based at least in part on the privacy action.
58. A method compri sing : storing privacy configuration data in a memory for an apparatus; detecting, using a Bluetooth low energy (BLE) device, an external device presence signal, wherein the external device presence signal comprises an external device identifier; determining a privacy action stored in the privacy configuration data for the external device identifier, wherein the privacy action applies while the apparatus detects the external device presence signal comprising the external device identifier; and broadcasting location data for the apparatus based at least in part on the privacy action.
59. The method of claim 58, wherein the external device identifier is associated with a member of a peer-to-peer network.
60. The method of claim 59, wherein the approximate location of the external device is accessible to one or more members of the peer-to-peer network.
61. The method of claim 60, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: determining, based on the privacy configuration data, that the approximate location of the external device is associated with a predetermined restricted area; and restricting the one or more members of the peer-to-peer network's access to the approximate location of the external device.Atty Docket No. 069902-64012362. The method of claim 60, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: determining that the external device presence signal further comprises a status update; and enabling access to the status update to the one or more members of the peer-to-peer network.
63. The method of claim 60, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: determining, based on the approximate location of the external device and using a trained machine learning model, a routine anomaly.
64. The method of claim 63, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: enabling access to one or more emergency response features to the one or more members of the peer-to-peer network.
65. The method of claim 63, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: causing recording of audio and video data via the external device; and causing transmission of the audio and video data to a secure device.
66. The method of claim 63, wherein broadcasting location data for the apparatus based at least in part on the privacy action comprises: transmitting safety data to the external device based on the approximate location of the external device.
67. The method of claim 61, wherein the external device is configured to broadcast low resolution location data associated with the approximate location of the external device based at least in part on a location of a second BLE device.
68. The method of claim 62, wherein the external device is configured to broadcast the status update using a second BLE device.
69. A method comprising:Atty Docket No. 069902-640123 determining an association between privacy configuration data and an external device identifier associated with an external device; receiving, from the external device, data identifying a Bluetooth low energy (BLE)-based presence signal identifying a BLE beacon in communication with the external device; determining a privacy action based on the privacy configuration data associated with the external device identifier, wherein the privacy action applies while the BLE beacon is in communication with the external device; and broadcasting location data for the external device based at least in part on the privacy action.
70. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions to: store privacy configuration data in a memory for an apparatus; detect, using a Bluetooth low energy (BLE) device, an external device presence signal, wherein the external device presence signal comprises an external device identifier; determine a privacy action stored in the privacy configuration data for the external device identifier, wherein the privacy action applies while the apparatus detects the external device presence signal comprising the external device identifier; and broadcast location data for the apparatus based at least in part on the privacy action.
71. The computer program product of claim 70, wherein the external device identifier is associated with a member of a peer-to-peer network.
72. The computer program product of claim 71, wherein the approximate location of the external device is accessible to one or more members of the peer-to-peer network.
73. The computer program product of claim 72, wherein the program code instructions to broadcast location data for the apparatus based at least in part on the privacy action comprise program code instructions to: determine, based on the privacy configuration data, that the approximate location of the external device is associated with a predetermined restricted area; and restrict the one or more members of the peer-to-peer network's access to the approximate location of the external device.Atty Docket No. 069902-64012374. The computer program product of claim 72, wherein the program code instructions to broadcast location data for the apparatus based at least in part on the privacy action comprise program code instructions to: determine that the external device presence signal further comprises a status update; and enable access to the status update to the one or more members of the peer-to-peer network.
75. The computer program product of claim 72, wherein the program code instructions to broadcast location data for the apparatus based at least in part on the privacy action comprise program code instructions to: determine, based on the approximate location of the external device and using a trained machine learning model, a routine anomaly.
76. The computer program product of claim 75, wherein the program code instructions to broadcast location data for the apparatus based at least in part on the privacy action comprise program code instructions to: enable access to one or more emergency response features to the one or more members of the peer-to-peer network.
77. The computer program product of claim 75, wherein the program code instructions to broadcast location data for the apparatus based at least in part on the privacy action comprise program code instructions to: cause recording of audio and video data via the external device; and cause transmission of the audio and video data to a secure device.
78. The computer program product of claim 75, wherein the program code instructions to broadcast location data for the apparatus based at least in part on the privacy action comprise program code instructions to: transmit safety data to the external device based on the approximate location of the external device.
79. The computer program product of claim 73, wherein the external device is configured to broadcast low resolution location data associated with the approximate location of the external device based at least in part on a location of a second BLE device.Atty Docket No. 069902-64012380. The computer program product of claim 74, wherein the external device is configured to broadcast the status update using a second BLE device.
81. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions to: determine an association between privacy configuration data and an external device identifier associated with an external device; receive, from the external device, data identifying a Bluetooth low energy (BLE)-based presence signal identifying a BLE beacon in communication with the external device; determine a privacy action based on the privacy configuration data associated with the external device identifier, wherein the privacy action applies while the BLE beacon is in communication with the external device; and broadcast location data for the external device based at least in part on the privacy action.