A method for positioning a wireless mesh network configuration

By identifying the locations of entry nodes and relay nodes in a wireless mesh network, the forwarding strategy for location communication is optimized, solving the problems of resource waste and latency, and improving location efficiency.

CN114788307BActive Publication Date: 2026-02-03ZEBRA TECHNOLOGIES CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202080080083.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-19
Filing Date
2020-09-24
Publication Date
2026-02-03
Estimated Expiration
2040-09-24

AI Technical Summary

Technical Problem

Existing wireless mesh networks suffer from resource waste and latency issues during location information transmission, especially due to resource consumption and bandwidth waste caused by unnecessary relay node processing and forwarding.

Method used

A wireless mesh network is constructed using a positioning platform and relay nodes to identify the locations of entry nodes and relay nodes. Based on distance and topology, it is determined whether to forward or discard positioning communications in order to optimize resource utilization.

Benefits of technology

This reduces the resource consumption of relay nodes and the bandwidth waste of wireless mesh networks, and increases the number of asset beacons that can be located in the same amount of time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114788307B_ABST
    Figure CN114788307B_ABST
Patent Text Reader

Abstract

A localization platform can receive a localization communication associated with a waypoint beacon via a mesh network. The localization platform can identify an entry node of the localization communication. The localization platform can determine a waypoint location associated with the waypoint beacon based on localization information in the localization communication. The localization platform can determine a node location of the entry node based on the waypoint location. The localization platform can configure a relay node of the mesh network to forward or drop subsequently received localization communications associated with the waypoint beacon based on the node location.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to wireless mesh networks, and for example to the construction of wireless mesh networks for positioning. Background Technology

[0002] Short-range wireless communication enables wireless communication over relatively short distances (e.g., within 30 meters). For example, Bluetooth® is a wireless technology standard used to exchange data over short distances using short-wavelength ultra-high frequency (UHF) radio waves ranging from 2.4 GHz to 2.485 GHz. Bluetooth® Low Energy (BLE) is a form of Bluetooth® communication that allows communication with devices operating in low-power mode. Such devices may include beacons, which are wireless communication devices that can use low-power communication technologies for purposes such as location tracking, proximity marketing, etc. Furthermore, such devices can be used as nodes (e.g., relay nodes) in a wireless mesh network, communicating and / or relaying information to a management platform or hub associated with the wireless mesh network. Attached Figure Description

[0003] Figure 1A-1C and Figure 2A-2C This is a diagram illustrating one or more example implementations described in this article.

[0004] Figure 3 This is a diagram of an example environment in which the systems and / or methods described in this article can be implemented.

[0005] Figure 4 yes Figure 3 A diagram of example components of one or more devices.

[0006] Figure 5-7 This is a flowchart of an example process for constructing a wireless mesh network for positioning. Detailed Implementation

[0007] The following detailed description of the example implementation is provided with reference to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.

[0008] In some instances, a wireless mesh network may be formed by multiple short-range wireless communication devices (e.g., Bluetooth® devices, Bluetooth® Low Energy (BLE) devices, etc.) which may be referred to herein as “relay nodes.” In this case, the wireless mesh network is formed by relay nodes configured to forward received communications to other relay nodes within the range of the receiving relay node. Thus, the topology of the wireless mesh network can be defined by the communication range of the relay nodes. Therefore, specific communications including target information (e.g., location information) can enter the wireless mesh network based on the location of the sending device (e.g., an asset beacon) and the nearest relay node to that device. Furthermore, according to the prior art, the information is subsequently forwarded to the remaining relay nodes of the wireless mesh network according to the topology of the wireless mesh network, so that the information reaches its final destination. For example, location information may be received from an asset beacon by one of the relay nodes, forwarded through the wireless mesh network to the other remaining relay nodes of the wireless network, and finally received by a positioning platform that is communicatively coupled to one or more of the relay nodes of the mesh network.

[0009] However, forwarding location information through a mesh network in this manner wastes the communication resources of the wireless mesh network, the processing resources of relay nodes, and / or causes corresponding delays when communicating information. More specifically, relay nodes that are not located (e.g., physically or topologically) between the entry node of the wireless mesh network used for communication and the final destination of the communication waste resources processing and / or forwarding the communication, because the communication could have reached the final destination faster and / or with fewer resources through other nodes in the wireless mesh network. Therefore, the relay node unnecessarily consumes the resources and / or bandwidth of the wireless mesh network.

[0010] According to some implementations described herein, a positioning platform and / or relay nodes will construct a wireless mesh network for positioning. In some implementations, the positioning platform may receive positioning communications associated with waypoint beacons, identify the entry node of the positioning communications, determine the node location of the entry node based on the location of the waypoint beacon, and construct relay nodes for the wireless mesh network based on the node location. Alternatively, a relay node may receive positioning communications associated with waypoint beacons, determine the distance between the location of the waypoint beacon and the relay node's relay node location, and forward the positioning communications based on this distance (e.g., to enable positioning to be performed using the positioning communications) or discard the positioning communications (e.g., to reduce the resource consumption of the relay nodes and / or the wireless mesh network). In this way, the positioning platform and / or relay nodes can reduce the resource consumption of the relay nodes and / or the bandwidth of the wireless mesh network by enabling the relay nodes to discard positioning communications when they are not along the optimal routing path of the wireless mesh network (e.g., not located between the entry node and the positioning platform). Furthermore, freeing up wasted resources and / or bandwidth allows for an increase in the number of location communications received by relay nodes and / or communicated via wireless mesh networks, enabling the location of more asset beacons within the same timeframe as existing technologies.

[0011] Figure 1A-1C This is a diagram of example implementation 100 described in this article. (See diagram for example.) Figure 1A-1C As shown, Example Implementation 100 includes multiple waypoint beacons (denoted as "WP1", "WP2", "WP3"), multiple assets (referred to herein as "asset beacons" and denoted as "A1" and "A2"), a wireless mesh network consisting of multiple relay nodes (denoted as "N1" to "N8"), and a positioning platform for performing positioning. As described herein, positioning involves one or more processes that can be performed to identify, determine, and / or provide information that identifies, represents, or can be used to determine the location of objects (such as one or more assets in Example Implementation 100).

[0012] like Figure 1AAs shown, via reference numeral 110, a waypoint beacon transmits an advertisement for asset location. The advertisement may include a beacon identifier (“Beacon ID”) and / or location information associated with the waypoint beacon. The beacon identifier may include the beacon’s name (e.g., “WP1”), a Media Access Control (MAC) identifier (MAC ID) or MAC address, a serial number, a manufacturer / producer identifier, a model identifier, etc. The advertisement may include other constructs of the advertisement and / or additional data associated with the beacon. For example, the advertisement may be communicated using communication structures such as Protocol Data Units (PDUs), packets, frames, datagrams, segments, messages, blocks, units, frames, subframes, time slots, symbols, any part of the foregoing, and / or another type of formatted or unformatted data unit capable of wireless transmission. Furthermore, the advertisement may include a PDU type field, a length field, a gain information field, and / or any other location information that can be used to perform the location described herein.

[0013] A waypoint beacon can be a short-range wireless communication device (e.g., a BLE transmitter) located at a corresponding waypoint, and may include the coordinates and / or identification of a specific location (e.g., previously communicated to the asset and / or positioning platform or its known location). An asset can be, or may include, a short-range wireless communication device. For example, an asset can be a mobile device used to track the location of a target object (e.g., a person, product or product inventory, production machinery, transport machinery, etc.). The asset can transmit location information to the positioning platform via a wireless mesh network (e.g., via Bluetooth® communication). For example, A1 can broadcast the location information so that the nearest relay node (N1) in the wireless mesh network to A1 can receive the location information.

[0014] In this way, waypoint beacons and / or assets can be configured for location using a wireless mesh network.

[0015] like Figure 1A Further illustrated, and indicated by reference numeral 120, the relay nodes are configured to form a wireless mesh network for relaying location communications for assets. The relay nodes can be configured to broadcast communications to establish or enable the formation of a wireless mesh network topology. For example, based on the wireless communication range of N5, relay nodes N2, N3, N4, N6, and N7 can all be neighbor nodes of relay node N5 within the wireless mesh network topology.

[0016] Relay nodes can correspond to devices and / or components in a specific environment, such as a specific building (e.g., a factory, warehouse, retail store, etc.), a specific room (e.g., a room with inventory, an assembly line room, etc.), a campus, etc. As shown in the figure, relay nodes can include, for example, smart light bulbs (N1, N2, N3, and N6), smart switches (N4 and N8), and / or smart fans (N5 and N7) and are associated with, for example, smart light bulbs (N1, N2, N3, and N6), smart switches (N4 and N8), and / or smart fans (N5 and N7). Therefore, relay nodes in a wireless mesh network, while enabling location communication from assets to a positioning platform, can perform one or more other operations associated with the physical environment of the wireless mesh network.

[0017] As described herein, relay nodes can communicate with each other to form and / or construct a wireless mesh network. For example, relay nodes can be configured to (e.g., according to scheduling, event-based, and / or random) send and / or receive advertisements, received location communications (e.g., from assets and / or other relay nodes), and control communications associated with the operation of a relay node's devices (e.g., emitting or not emitting light, generating or not generating airflow, activating or deactivating one or more other devices, etc.). In some implementations, when sending and / or forwarding advertisements and / or location communications, relay nodes can forward advertisements and / or location communications via channels in a designated set of channels (e.g., a BLE channel set). Similarly, relay nodes can be configured to loop through a designated set of channels to listen for advertisements and / or location communications from nearby relay nodes and / or assets. Based on the exchange of these communications, relay nodes N1 through N8 can form a wireless mesh network.

[0018] According to some implementations, one or more relay nodes N1 to N8 can operate as waypoint beacons, similar to the waypoint beacons WP1, WP2, and WP3 described above. Therefore, the physical location of one or more relay nodes can be known (e.g., as illustrated herein, and / or maintained in a waypoint map), allowing advertisements from these one or more relay nodes to be used for location. Such relay nodes may include a single wireless communication device (e.g., a single BLE device) that operates to form a wireless mesh network and enables location to be performed. For example, during operation, the relay node may periodically (e.g., every 500 milliseconds, every second, etc.) transmit advertisements similar to waypoint beacons. In this way, assets and / or relay nodes can determine their position relative to each other with respect to received and / or advertisements associated with the relay node. Therefore, relay nodes can be configured to perform multiple operations to form a wireless communication network while simultaneously achieving location relative to the relay node's location.

[0019] As described in this article, the positioning platform can be used as a control hub for a wireless mesh network, controlling the configuration of relay nodes. For example, the positioning platform can be used to upload (or add) one relay node to the wireless mesh network, remove one or more relay nodes from the wireless mesh network, suspend activities and / or communications associated with one or more relay nodes, and so on.

[0020] In this way, relay nodes can form a wireless mesh network and / or be provided to enable the location of assets using waypoint beacons.

[0021] like Figure 1A As further illustrated, and indicated by reference numeral 130, the positioning platform receives positioning communications via a mesh network. As described herein, positioning communications may include PDUs, messages, data files, and / or any other type of communication including positioning information associated with assets and waypoint beacons. Positioning information may include a waypoint beacon identifier from an advertisement received by the asset, a Received Signal Strength Indication (RSSI) associated with the asset receiving the advertisement, and / or other similar information. The RSSI can be used to indicate and / or determine the distance between the asset and the waypoint beacon. Positioning information may include other information (e.g., channel information, gain information, etc.) that can be used to determine the asset's position relative to the waypoint beacon.

[0022] In some implementations, location communications may originate from and / or be generated by assets, and correspondingly forwarded to the location platform by relay nodes via a wireless mesh network. In other words, relay nodes may be configured to provide the original received location communications when forwarding them, without editing or processing them. In some implementations, relay nodes may include tags and / or identifiers (e.g., the relay node's address or identifier) ​​within the location communications that indicate that the relay node received and / or forwarded the location communications (e.g., to allow the location platform to identify the routing path of the location communications).

[0023] Depending on the implementation, location communication may have a format that allows the location platform to determine the location of one or more assets (e.g., relative to one or more waypoint beacons). For example, the assets may include location information in a file that can be communicated to the location platform via a wireless mesh network for location purposes. In some implementations, this file may be associated with a data exchange format (e.g., JavaScript® Object Markup (JSON) format).

[0024] The positioning platform can be an apparatus (e.g., a user device, a server device, etc.) configured to perform positioning associated with waypoint beacons and / or assets (e.g., determining the position of an asset relative to a waypoint beacon). As shown, the positioning platform can receive positioning communications via a relay node N3 (e.g., N3 can be used as a gateway node to a wireless mesh network used by the positioning platform).

[0025] In this way, the positioning platform can receive positioning communications to allow the positioning platform to perform positioning to determine the location of the asset and / or the distance between the asset and one or more waypoint beacons.

[0026] like Figure 1B As shown, and indicated by reference numeral 140, the positioning platform analyzes positioning communications to determine the nearest relay node associated with the positioning communications. The nearest relay node may correspond to, or be considered as, the entry node of the positioning communications. Figure 1B In the location communication, asset identifiers (identifying A1 and A2), waypoint identifiers (“waypoint IDs”), an ingress node, and received signal strength may be included. The ingress node may correspond to a relay node through which the location communication enters the wireless mesh network (e.g., a first relay node along the route from the wireless mesh network to the location platform). In some implementations, the ingress node is indicated within the location communication based on the relay node receiving the location communication from the ingress node, which includes a tag within the location communication, to indicate that the relay node is the ingress node of the location communication and / or that the relay node is along the route of the location communication.

[0027] Based on the fact that A1 sends a location communication identifying WP1 to N1 (N1 is indicated as the entry node), the positioning platform can determine that N1 is the relay node closest to WP1. Furthermore, based on the fact that A2 sends a location communication identifying WP3 to N8, and then sends a location communication identifying WP2 to N6 (e.g., when A2 moves from a location near WP3 towards WP2, as shown by the dashed arrow), the positioning platform can determine that N8 is closest to WP3 and N6 is closest to WP2. According to some implementations, the positioning platform can monitor the amount of location communication identifying a specific waypoint. In this case, the positioning platform can designate a relay node as the relay node closest to the waypoint beacon based on the fact that the relay node is the entry node for a threshold amount of location communication associated with the specific waypoint beacon. Alternatively, when a relay node can operate as a waypoint beacon, the positioning platform can determine the position of that relay node relative to other relay nodes operating as waypoint beacons based on the fact that the specific relay node receives advertisements from other relay nodes.

[0028] Furthermore, based on waypoint mapping that identifies waypoint beacon locations (shown as WP1 at "Loc X", WP2 at "Loc Y", and WP3 at "Loc Z") and / or the known locations of certain relay nodes (not shown), the positioning platform can map one or more relay nodes to corresponding locations to determine and / or indicate the physical location of relay nodes in the wireless mesh network. In some implementations, the positioning platform can determine that the positioning platform's entry node is the node closest to the waypoint beacon based on the waypoint beacon's communication range and / or the RSSI indicated in the positioning information of the positioning communication. For example, if two positioning communications indicate the same waypoint beacon but to different entry nodes in the wireless mesh network, the positioning platform can compare the communication range of the waypoint beacon identified in the two positioning communications and / or the RSSI of the two positioning communications to determine which entry node is closer to the waypoint beacon. The positioning platform can then map a waypoint beacon to the nearest relay node based on the waypoint beacon's communication range (e.g., if one waypoint beacon is known to have a shorter communication range than the other) and / or based on the RSSI of an advertisement received from the waypoint beacon (e.g., if the RSSI associated with the advertisement indicates a shorter distance to the waypoint beacon).

[0029] In this way, the positioning platform can analyze positioning communications to determine location information associated with relay nodes in the wireless mesh network, allowing the positioning platform to construct relay nodes for the wireless mesh network based on the location information.

[0030] like Figure 1C As shown, and indicated by reference numeral 150, the positioning platform determines its node policy based on the nearest node and the topology of the wireless mesh network. In some implementations, the positioning platform may determine its node policy by considering its position relative to the nearest node and the network topology. The node policy of a relay node indicates whether positioning communications associated with a specific waypoint beacon are forwarded or discarded by that relay node. Positioning communications can be discarded by being erased (e.g., cleared from or overwritten by the relay node in its memory), not being transmitted by the relay node (e.g., during a specified transmission period of the relay node), etc.

[0031] In some implementations, the positioning platform can receive and / or identify the topology of the wireless mesh network. For example, the positioning platform can receive a topology map indicating the neighboring nodes of a relay node, and / or correspondingly, the number of hops between each pair of relay nodes in the wireless mesh network. As used herein, a hop may correspond to a segment of the routing path between two neighboring nodes in the wireless mesh network (e.g., a segment excluding or traversing any other relay nodes in the wireless mesh network besides the two neighboring nodes). Based on the topology, the positioning platform can identify which relay nodes have the shortest routing path (e.g., the routing path including the fewest hops) along the nearest node of the waypoint beacon. According to some implementations, the positioning platform can be configured to learn the topology of the wireless mesh network based on received positioning communications. For example, during a calibration period, the positioning platform can receive positioning communications to learn the topology of the wireless mesh network without developing node policies for relay nodes. The positioning platform can learn the topology based on identifying the routing paths of positioning communications according to the relay nodes that tagged the positioning communications when they were received and / or forwarded. Based on the tags, the positioning platform can identify the routing path and correspondingly identify the neighboring nodes of the relay node and / or identify the topology of the wireless mesh network based on the neighboring nodes.

[0032] In example implementation 100, the positioning platform may generate and / or maintain policy mappings for relay nodes in the wireless mesh network. The policy mappings may specify which positioning communications a relay node will forward associated with a mapped waypoint beacon. If a received positioning communication includes positioning information that does not contain a waypoint identifier corresponding to the waypoint beacon, the relay node may discard the positioning communication, thereby saving wireless mesh network resources and / or freeing up wireless mesh network bandwidth that would otherwise be consumed by sending positioning communications using waypoint beacons not near the corresponding relay node or between the relay node and the positioning platform.

[0033] According to some implementations, relay nodes can be configured to forward advertising and / or location communications that include RSSI measurements within a specific range. Alternatively, when a relay node (e.g., a bridge routing a path) receives packets from one or more other relay nodes, the relay node can selectively forward communications associated with the nearest relay based on the RSSI of the communication and / or based on communications having RSSIs within the RSSI range, and only forward these communications to the location platform. In this case, the location platform can detect patterns of specific relay nodes repeatedly forwarding location communications associated with the same relay node (e.g., when that same relay node operates as a waypoint beacon).

[0034] In this way, the positioning platform can determine the node strategy of the relay node based on the nearest node of the waypoint beacon and the topology of the wireless mesh network.

[0035] like Figure 1C As further illustrated, and indicated by reference numeral 160, the positioning platform constructs relay nodes according to node policies. For example, the positioning platform can control relay nodes to forward or discard subsequently received positioning communications associated with one or more waypoint beacons, based on policy mappings. The positioning platform can construct relay nodes based on scheduling, specific events (e.g., a new relay node being activated and / or added to a wireless mesh network, etc.), changes to policy mappings (e.g., based on Universally Unique Identifiers (UUIDs), MAC IDs, RSSI ranges, etc.).

[0036] As a specific example, in example implementation 100, the positioning platform can configure relay nodes within one hop of the nearest node to a waypoint beacon to forward positioning communications associated with that waypoint beacon. Therefore, as shown, the positioning platform can configure N1 and N2 to forward positioning communications associated with WP1 and discard positioning communications associated with WP2 or WP3. The positioning platform can configure N3 to forward positioning communications associated with WP1, WP2, or WP3 (e.g., because N3 is a gateway to the positioning platform). The positioning platform can configure N4 to forward positioning communications associated with WP2 and discard positioning communications associated with WP1 or WP3. The positioning platform can configure N5, N6, N7, and N8 to forward positioning communications associated with WP2 or WP3 and discard positioning communications associated with WP1. Policy mapping enables the positioning platform to construct a wireless mesh network to establish optimal routing paths among the nearest nodes of WP1, WP2, and WP3. For example, policy mapping prevents the routing path of WP1's location communication from passing through N1, N2, N4, N5, and N3, because N4 will discard location communication associated with WP1, thus saving bandwidth that the wireless mesh network might otherwise consume by forwarding location communication to N5 and N6. Furthermore, N4 discarding location communication associated with WP1 saves computing resources in N5 and N6, which would otherwise be consumed by receiving and / or processing location communication associated with WP1.

[0037] In this way, the positioning platform can construct relay nodes for the wireless mesh network according to the node strategy, so as to save the resources of the relay nodes and / or the bandwidth of the wireless mesh network.

[0038] As mentioned above, Figure 1A-1C This is provided as one or more examples only. Other examples may be combined. Figure 1A-1C The differences are explained.

[0039] Figure 2A-2CThis is a diagram of example implementation 200 described in this article. (See diagram for example.) Figure 2A-2C As shown, example implementation 200 includes a waypoint beacon (“WP1”), an asset (“A1”), a wireless mesh network consisting of multiple relay nodes (shown as “N1” to “N8”), and a positioning platform for performing positioning.

[0040] like Figure 2A As shown, and indicated by reference numeral 210, the relay node receives a mapping for location communication. The relay node can receive the mapping from the location platform. For example, the relay node can receive a node mapping that identifies the waypoint beacon closest to the relay node in the wireless mesh network. Alternatively, the waypoint mapping may include topology information associated with the wireless mesh network (e.g., neighbor information, hop count information, etc.). In some implementations, the relay node may receive the mapping based on updates to the mapping (e.g., determined and / or received by the location platform), based on new relay nodes that are activated and / or added to the wireless mesh network, etc.

[0041] In some implementations, relay nodes can receive the same mapping to allow them to determine whether to forward or discard location communications. For example, the mapping could indicate topology information associated with the wireless mesh network and / or node policies associated with the relay nodes in the network. In this case, the location platform may not need to determine separate policy mappings for each relay node in the wireless mesh network (e.g., to save location platform processing resources).

[0042] In this way, relay nodes in a wireless mesh network can receive one or more mappings associated with the wireless mesh network, allowing the relay nodes to route location communications as described herein.

[0043] like Figure 2A As further shown, and indicated by reference numeral 220, N2 receives location communication associated with WP1 from N1. N2 can receive location communication from N1 based on A1 receiving location communication from WP1, which in turn sends location communication based on receiving an advertisement from WP1. Therefore, N1 can correspond to the entry node for location communication. N2 can receive location communication according to the communication protocol of the wireless mesh network. For example, if the wireless mesh network is a BLE mesh network, then N2 can receive location communication as BLE communication.

[0044] In this way, N2 can receive location communications from N1 to determine whether to forward or discard the location communications.

[0045] like Figure 2BAs shown, and indicated by reference numeral 230, N2 maintains a node map to determine node strategies for forwarding and / or discarding location communications. In some implementations, each relay node of the wireless mesh network in example implementation 200 may maintain... Figure 2B The node mapping is used to determine the node strategy for location communication associated with WP1. N2 can maintain the node mapping in its local data structures (e.g., tables, indexes, graphs, databases, etc.). Figure 2B The node mapping maps the identifier of the relay node (listed under “Node ID”) to the corresponding nearby waypoints and neighboring nodes (“Topology Information”).

[0046] In this way, relay nodes can use node mapping to determine whether to forward location communications via the wireless mesh network or discard them.

[0047] like Figure 2B As further shown, and indicated by reference numeral 240, N2 determines whether to use node mapping and WP1 identification to forward location communications. For example, N2 can process location communications to determine if the location communications are associated with WP1. N2 can determine which relay node in the wireless mesh network is closer (or closest) to WP1. Therefore, based on the mapping, N2 can determine that WP1 is closer to N1.

[0048] N2 can be configured to forward or drop location communications based on the distance from the nearest node (N1) to N2. This distance can include the physical distance between the nearest node and N2, or the hop count of the wireless mesh network. In example implementation 200, N2 can determine the hop count between N1 and N2 based on topology information. According to the topology information, N2 can determine that N2 is one hop away from the nearest node N1.

[0049] In some implementations, N2 can be constructed as a waypoint beacon, including WP1, with location information associated with N2 (e.g., geographic coordinates, location-specific coordinates, etc.) and / or a wireless mesh network. Therefore, N2 can determine the physical distance between N1 and N2 based on this location information to decide whether to forward or discard location communication. For example, if the distance is less than a threshold distance (e.g., distance based on the communication range of the waypoint beacon and / or relay node), then N2 can forward the location communication (e.g., because N2 is relatively close to the ingress node), and if the distance is greater than the threshold distance, then N2 can discard the location communication (e.g., because N2 is relatively far from the ingress node).

[0050] like Figure 2CAs shown, and indicated by reference numeral 250, based on the determined distance between N1 and N2, N2 forwards the location communication to N3, N4, and N5. For example, if N1 and N2 are less than the interval distance threshold or equal to or less than the hop count threshold, N2 then forwards the location communication to its neighboring nodes, namely N3, N4, and N5.

[0051] like Figure 2C As further illustrated in the diagram and indicated by reference numeral 260, N4 and N5 discard location communications based on the determined distances to WP1 and / or N1. For example, since N4 and N5 are determined to be the nearest node to WP1 with a distance greater than a distance threshold and / or a hop count threshold (determined based on topology information), N4 and N5 can discard location communications to save bandwidth in the wireless mesh network and / or processing resources of other relay nodes (N6, N7, N3) in the wireless mesh network.

[0052] like Figure 2C As further shown in the figure, and indicated by reference numeral 270, N3 forwards positioning communications to the positioning platform based on the determined distance from the nearest node to WP1 and / or N1.

[0053] In this way, the relay nodes of the wireless mesh network are configured to optimally relay location communications through the wireless mesh network based on the node mapping and / or determined topology of the wireless mesh network.

[0054] As mentioned above, Figure 2A-2C This is provided as one or more examples only. Other examples may be combined. Figure 2A-2C The differences are explained.

[0055] Figure 3 This is a diagram of an example environment 300 where the systems and / or methods described in this paper can be implemented. (See diagram 300 for example environment 300.) Figure 3 As shown, environment 300 may include asset beacons 310, one or more waypoint beacons 320 (referred to herein individually as "waypoint beacons 320" and collectively as "multiple waypoint beacons 320"), a positioning platform 330 hosted by computing resources 335 of cloud computing environment 340, and a mesh network including multiple relay nodes 360 (referred to herein individually as "relay nodes 360" and collectively as "multiple relay nodes 360"). Devices in environment 300 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0056] Asset beacon 310 includes one or more means capable of receiving, generating, storing, processing, and / or providing information associated with the location of asset beacon 310. For example, asset beacon 310 may include mobile communication devices and / or mobile computing devices, such as mobile phones (e.g., smartphones, cordless phones, etc.), laptop computers, tablet computers, handheld computers, scanning devices (e.g., barcode scanners), wearable communication devices (e.g., smartwatches, smart glasses, etc.), tracking devices, locator beacons, diagnostic devices, industry-specific computing devices, vehicles (e.g., including operator-controlled vehicles, autonomous vehicles, or semi-autonomous vehicles), or similar types of devices. As described herein, asset beacon 310 may correspond to an asset of example implementation 100 and / or may be designated to be associated with a target object (e.g., an object to be monitored by location platform 330).

[0057] Waypoint beacon 320 includes one or more means or components capable of generating, storing, processing, and / or providing location information associated with the location of the execution asset beacon 310 relative to the waypoint beacon 320. For example, waypoint beacon 320 may be configured to include information identifying the waypoint beacon 320, location information associated with the waypoint beacon 320, etc., in advertisements sent from the waypoint beacon 320. One or more waypoint beacons 320 may correspond to the waypoint beacon of example implementation 100. Location information may include addresses and / or coordinates (e.g., geographic coordinates, location-specific coordinates, etc.), waypoint information associated with the location (e.g., building identifiers, room identifiers, aisle identifiers, shelf identifiers, etc.), etc.

[0058] The positioning platform 330 includes one or more computing resources 335 allocated to construct a mesh network 350 for locating the asset beacon 310 using waypoint beacons 320. For example, the positioning platform 330 may be a platform implemented by a cloud computing environment 340, which can receive positioning communications associated with the waypoint beacon 320, determine (e.g., based on the known location of the waypoint beacon 320) the node locations of relay nodes 360 through which the positioning communications enter the mesh network 350, and construct relay nodes (and / or one or more other relay nodes 360) based on the node locations. In some implementations, the positioning platform 330 is implemented using computing resources 335 of the cloud computing environment 340. In some implementations, the positioning platform 330 is designated to use the relay nodes 360 of the mesh network 350 to perform positioning associated with the asset beacon 310 and the waypoint beacon 320.

[0059] The positioning platform 330 may include a server device or a group of server devices. In some implementations, the positioning platform 330 may be hosted in a cloud computing environment 340. It is worth noting that although the implementations described herein may describe the positioning platform 330 as being hosted in a cloud computing environment 340, in some implementations, the positioning platform 330 may not be cloud-based or may be partially cloud-based.

[0060] The cloud computing environment 340 includes an environment that delivers computing as a service, thereby providing shared resources and services to asset beacons 310, waypoint beacons 320, relay nodes 360, etc. The cloud computing environment 340 can provide computing, software, data access, storage, and / or other services without requiring end users to know the physical location and configuration of the systems and / or devices delivering the services. As shown in the figure, the cloud computing environment 340 may include a location platform 330 and computing resources 335.

[0061] Computing resource 335 includes one or more personal computers, workstations, server devices, or other types of computing and / or communication devices. In some implementations, computing resource 335 may host location platform 330. Cloud resources may include computing instances executing in computing resource 335, storage devices provided in computing resource 335, data transmission devices provided by computing resource 335, etc. In some implementations, computing resource 335 may communicate with other computing resources 335 via wired connections, wireless connections, or a combination of wired and wireless connections.

[0062] like Figure 3 As further shown, computing resources 335 may include cloud resource groups, such as one or more applications (“APP”) 335-1, one or more virtual machines (“VM”) 335-2, virtualized storage (“VS”) 335-3, one or more hypervisors (“HYP”) 335-4, etc.

[0063] Application 335-1 includes one or more software applications that can be provided to or accessed by asset beacons 310, waypoint beacons 320, and / or relay nodes 360. Application 335-1 eliminates the need to install and execute software applications on asset beacons 310, waypoint beacons 320, and / or relay nodes 360. For example, application 335-1 may include software associated with positioning platform 330 and / or any other software that can be provided via cloud computing environment 340. In some implementations, an application 335-1 may send / receive information from one or more other applications 335-1 via virtual machine 335-2.

[0064] Virtual machine 335-2 includes a software implementation of an execution machine (e.g., a computer) that is similar to a program on a physical machine. Depending on the use of virtual machine 335-2 and its correspondence with any real machine, virtual machine 335-2 can be a system virtual machine or a process virtual machine. A system virtual machine can provide a complete system platform supporting the execution of a full operating system (“OS”). A process virtual machine can execute a single program and can support a single process. In some implementations, virtual machine 335-2 can act on behalf of asset beacon 310 and can manage the infrastructure of cloud computing environment 340, such as data management, synchronization, or long-duration data transfer.

[0065] Virtualized storage 335-3 includes one or more storage systems and / or one or more devices that utilize virtualization technology within the storage system or device of computing resource 335. In some implementations, the type of virtualization within the storage system context may include block virtualization and file virtualization. Block virtualization may refer to the extraction (or separation) of logical storage from physical storage, enabling access to the storage system regardless of physical storage or heterogeneous architecture. This separation allows storage system administrators flexibility in how they manage storage for end users. File virtualization can eliminate the dependency between data accessed at the file level and the location of the physical storage file. This enables optimization of storage usage, server consolidation, and / or non-destructive file migration performance. Depending on some implementations, virtualized storage 335-3 may include distributed ledgers, blockchains, or related technologies.

[0066] Hypervisor 335-4 provides hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to execute concurrently on a host computer such as computing resource 335. Hypervisor 335-4 can present a virtual operating platform to the guest operating system and manage the execution of the guest operating system. Multiple instances of various operating systems can share virtualized hardware resources.

[0067] Mesh network 350 includes one or more wired and / or wireless networks. For example, mesh network 350 may include local area network (LAN), wide area network (WAN), metropolitan area network (MAN), private network, ad hoc network, intranet, short-range wireless communication network, and / or combinations of these or other types of networks.

[0068] Relay node 360 ​​includes one or more devices (e.g., one or more traffic transmission devices) capable of processing and / or transmitting traffic via mesh network 350 (e.g., between asset beacon 310 and positioning platform 330). For example, relay node 360 ​​may include short-range wireless communication devices (e.g., BLE devices) capable of functioning as routers, gateways, network switches, hubs, bridges, or similar devices. In some implementations, relay node 360 ​​may perform one or more operations similar to waypoint beacon 320 (e.g., enabling positioning based on the known location of relay node 360).

[0069] In some implementations, relay node 360 ​​may include a node map that includes information (e.g., location information, topology information, etc.) associated with waypoint beacons 320 and / or the mesh network 350 used for communicating location information associated with asset beacons 310. Therefore, as described herein, relay node 360 ​​may be configured to receive location communications associated with asset beacons 310, which identify one of the waypoint beacons 320 and use the node map to determine the distance between the waypoint location associated with that waypoint beacon and the relay node location of relay node 360. Furthermore, based on this distance, relay node 360 ​​may discard location information (e.g., to avoid consuming bandwidth of other relay nodes 360 in the mesh network 350) or forward location communications through the mesh network to achieve location associated with the waypoint location.

[0070] In some implementations, relay node 360 ​​may be one or more types of smart devices (and / or associated with) that can be controlled via communication with mesh network 350. For example, relay node 360 ​​may be a smart light bulb that can be wirelessly controlled via mesh network 350 to emit light, a smart fan that can be wirelessly controlled to circulate air or provide airflow, or a smart sensor that can wirelessly monitor physical conditions associated with environment 300 (e.g., temperature, humidity, motion, etc.). Alternatively, relay node 360 ​​may include a smart switch that can wirelessly communicate with one or more other relay nodes to activate or deactivate operation associated with those other relay nodes.

[0071] Figure 3 The number and arrangement of devices and networks shown are provided as one or more examples. In practice, additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or networks may exist. Figure 3 The devices and / or networks shown are arranged differently. Furthermore, Figure 3 The two or more devices shown can be implemented within a single device, or Figure 3The single device shown can be implemented as multiple distributed devices. Alternatively, a group of devices in environment 300 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in environment 300.

[0072] Figure 4 This is a diagram of example components of device 400. Device 400 may correspond to asset beacon 310, waypoint beacon 320, positioning platform 330, computing resource 335, and / or relay node 360. In some implementations, asset beacon 310, waypoint beacon 320, positioning platform 330, computing resource 335, and / or relay node 360 ​​may include one or more devices 400 and / or one or more components of device 400. Figure 4 As shown, the device 400 may include a bus 410, a processor 420, a memory 430, a storage component 440, an input component 450, an output component 460, and a communication interface 470.

[0073] Bus 410 includes components that allow communication between multiple components of device 400. Processor 420 is implemented in hardware, firmware, and / or a combination of hardware and software. Processor 420 is a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 420 includes one or more processors that can be programmed to perform functions. Memory 430 includes random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic storage, and / or optical storage) that stores information and / or instructions for use by processor 420.

[0074] Storage component 440 stores information and / or software related to the operation and use of device 400. For example, storage component 440 may include hard disks (e.g., magnetic disks, optical disks, and / or magneto-optical disks), solid-state drives (SSDs), compact discs (CDs), digital versatile discs (DVDs), floppy disks, cassette tapes, magnetic tapes, and / or other types of non-transitory machine-readable media and corresponding drives.

[0075] Input component 450 includes components that allow device 400 to receive information, for example, via user input (e.g., a touchscreen display, keyboard, keypad, mouse, button, switch, and / or microphone). Alternatively, input component 450 may include components for determining location (e.g., a Global Positioning System (GPS) component) and / or sensors (e.g., an accelerometer, gyroscope, actuator, another type of position or environmental sensor, etc.). Output component 460 includes components that provide output information from device 400 (via, for example, a display, speaker, haptic feedback component, audio or visual indicator, etc.).

[0076] Communication interface 470 includes transceiver-like components (e.g., transceiver, separate receiver, separate transmitter, etc.) that enable device 400 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 470 may allow device 400 to receive information from and / or provide information to another device. For example, communication interface 470 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.

[0077] Apparatus 400 can perform one or more processes described herein. Apparatus 400 may perform these processes based on software instructions stored in a non-transitory machine-readable medium such as memory 430 and / or storage element 440, executed by processor 420. When used herein, the term "machine-readable medium" refers to a non-transitory storage device. Storage devices include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

[0078] Software instructions may be read into memory 430 and / or storage member 440 via communication interface 470 from another machine-readable medium or from another device. When executed, the software instructions stored in memory 430 and / or storage member 440 may cause processor 420 to perform one or more procedures described herein. Alternatively, hardware circuitry may be used in place of or in combination with the software instructions to perform one or more procedures described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

[0079] Figure 4 The number and arrangement of components shown are provided as an example. In practice, device 400 may include additional components, fewer components, different components, or components with... Figure 4The components shown are arranged differently. Alternatively, a group of components of device 400 (e.g., one or more components) may perform one or more functions described as being performed by another group of components of device 400.

[0080] Figure 5 This is a flowchart of an example process 500 for constructing a wireless mesh network for positioning. In some implementations, Figure 5 One or more processing blocks can be executed by the positioning platform (e.g., positioning platform 330). In some implementations, Figure 5 One or more processing blocks may be executed by another device or a group of devices that are separate from or include the positioning platform, such as asset beacons (e.g., asset beacon 310), waypoint beacons (e.g., waypoint beacon 320), relay nodes (e.g., relay node 360), etc.

[0081] like Figure 5 As shown, process 500 may include receiving location communications associated with waypoint beacons via a mesh network (block 510). For example, a location platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may receive location communications associated with waypoint beacons via a mesh network as described above.

[0082] like Figure 5 As further shown, process 500 may include identifying the entry node for positioning communication (block 520). For example, a positioning platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may identify the entry node for positioning communication as described above.

[0083] like Figure 5 As further shown, process 500 may include determining the waypoint location associated with the waypoint beacon based on location information in the location communication (block 530). For example, a location platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may determine the waypoint location associated with the waypoint beacon based on the location information in the location communication as described above.

[0084] In some implementations, determining waypoint locations includes identifying waypoint identifiers in the location information, and using a waypoint map based on the waypoint identifiers to determine the waypoint locations, wherein the waypoint map identifies the corresponding locations of waypoint beacons and one or more other waypoint beacons in the mesh network area.

[0085] like Figure 5As further shown, process 500 may include determining the node position of the entry node based on waypoint location (block 540). For example, a positioning platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may determine the node position of the entry node based on waypoint location as described above.

[0086] In some implementations, process 500 may include determining the node location within the area of ​​the waypoint location based on at least one of the following: the communication range of the waypoint beacon, or a received signal strength indication associated with the entry node receiving the location information, and the received signal strength indication is included in the location communication.

[0087] like Figure 5 As further shown, process 500 may include configuring relay nodes of the mesh network to forward or discard subsequently received location communications associated with waypoint beacons based on node locations (block 550). For example, a location platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may configure relay nodes of the mesh network to forward or discard subsequently received location communications associated with waypoint beacons based on node locations as described above.

[0088] In some implementations, the entry node corresponds to a node in a mesh network that receives location information from a wireless communication device, and process 500 may include performing a location process associated with the wireless communication device based on the location information.

[0089] In some implementations, constructing a relay node includes updating the relay node's strategy to include location information and, in association with an identifier, accordingly indicating whether the relay node will forward or discard subsequently received location communications.

[0090] In some implementations, process 500 may include determining the hop count of the mesh network between the relay node and the ingress node based on node location. Furthermore, configuring the relay node to forward subsequently received location communications may include forwarding the subsequently received location communications based on a hop count less than or equal to a hop count threshold of the mesh network from the ingress node, and configuring the relay node to discard subsequently received location communications may include discarding the subsequently received location communications based on a hop count greater than a hop count threshold of the mesh network from the ingress node.

[0091] In some implementations, relay nodes are configured to forward subsequently received location communications when the route length threshold for the relay node's location is determined to be less than that of its own node, and to discard subsequently received location communications when the route length threshold for the relay node's location is determined to be greater than that of its own node.

[0092] In some implementations, one or more of the subsequently received location communications are associated with the waypoint beacon based on the waypoint beacon being identified in the subsequent location communications.

[0093] although Figure 5 Example blocks of process 500 are shown, but in some implementations, process 500 may include additional blocks, fewer blocks, different blocks, or blocks similar to those in other implementations. Figure 5 The blocks shown are arranged differently. Alternatively, two or more blocks of process 500 can be executed in parallel.

[0094] Figure 6 This is a flowchart of an example process 600 for constructing a wireless mesh network for positioning. In some implementations, Figure 6 One or more processing blocks can be executed by a relay node (e.g., relay node 360). In some implementations, Figure 6 One or more processing blocks may be executed by another device or group of devices that are separate from or include a positioning platform, such as an asset beacon (e.g., asset beacon 310), a waypoint beacon (e.g., waypoint beacon 320), a positioning platform (e.g., positioning platform 330), etc.

[0095] like Figure 6 As shown, process 600 may include receiving location communications associated with waypoint beacons via a mesh network (block 610). For example, a relay node (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may receive location communications associated with waypoint beacons via a mesh network as described above.

[0096] In some implementations, a relay node can identify the waypoint identifier of a waypoint beacon from location communications, determine the waypoint location based on the waypoint identifier and the first item of the node mapping, and determine the relay node location based on the relay node's node identifier and the second item of the node mapping.

[0097] like Figure 6 As further shown, process 600 may include using node mapping to determine the distance between a waypoint location associated with a waypoint beacon and a relay node location of a relay node (block 620). For example, a relay node (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may use node mapping as described above to determine the distance between a waypoint location associated with a waypoint beacon and a relay node location of a relay node.

[0098] In some implementations, node mapping includes at least one of the following: mapping of multiple waypoint beacons associated with the mesh network to the corresponding nearest node of the mesh network; mapping of node locations of multiple nodes of the mesh network, wherein a relay node is one of the multiple nodes of the mesh network; or mapping of topology information of the multiple nodes of the mesh network.

[0099] In some implementations, distance corresponds to the number of hops in the mesh network between relay nodes and entry nodes of the mesh network providing location communication, waypoint location corresponds to the entry node location of the entry node within the mesh network, and distance threshold corresponds to threshold hop count.

[0100] In some implementations, a relay node can: identify a waypoint identifier of a waypoint beacon from location communications; identify an ingress node based on the waypoint identifier and the node mapping to determine the ingress node location in the mesh network topology; identify the relay node location within the mesh network topology based on the node mapping; determine the mesh network topology based on the mesh network topology information in the node mapping; and determine the hop count between the ingress node location and the relay node location based on the mesh network topology to determine the distance.

[0101] like Figure 6 As further shown, process 600 may include forwarding location communications via a mesh network when the distance meets a distance threshold to enable location in association with waypoint locations (block 630). For example, a relay node (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may, as described above, forward location communications via a mesh network when the distance meets a distance threshold to enable location in association with waypoint locations.

[0102] like Figure 6 As further shown, process 600 may include discarding location communication when the distance does not meet a distance threshold (block 640). For example, a relay node (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may discard location communication when the distance does not meet a distance threshold as described above.

[0103] In some implementations, the relay node is a Bluetooth® Low Energy device, and the mesh network is a Bluetooth® Low Energy mesh network.

[0104] although Figure 6 Example blocks of process 600 are shown, but in some implementations, process 600 may include additional blocks, fewer blocks, different blocks, or blocks similar to those in other implementations. Figure 6The blocks shown are arranged differently. Alternatively, two or more blocks of process 600 can be executed in parallel.

[0105] Figure 7 This is a flowchart of an example process 700 for constructing a wireless mesh network for positioning. In some implementations, Figure 7 One or more processing blocks can be executed by the positioning platform (e.g., positioning platform 330). In some implementations, Figure 7 One or more processing blocks may be executed by another device or a group of devices that are separate from or include the positioning platform, such as asset beacons (e.g., asset beacon 310), waypoint beacons (e.g., waypoint beacon 320), relay nodes (e.g., relay node 360), etc.

[0106] like Figure 7 As shown, process 700 may include receiving a waypoint map (block 710) that identifies the corresponding waypoint locations of multiple waypoint beacons. For example, a positioning platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may receive the waypoint map that identifies the corresponding waypoint locations of multiple waypoint beacons as described above.

[0107] like Figure 7 As further shown, process 700 may include receiving multiple location communications associated with multiple waypoint beacons via a mesh network (block 720). For example, a positioning platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may receive multiple location communications associated with multiple waypoint beacons via a mesh network as described above.

[0108] like Figure 7 As further shown, process 700 may include identifying an entry node for a group of location communications among the plurality of location communications, wherein the group of location communications is associated with a waypoint beacon among the plurality of waypoint beacons (block 730). For example, a positioning platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may identify the entry node for a group of location communications among the plurality of location communications as described above. In some implementations, the group of location communications is associated with a waypoint beacon among the plurality of waypoint beacons.

[0109] In some implementations, the entry node corresponds to the mesh network, and the location information of the location communication enters the mesh network node, and the location information identifies a waypoint beacon for location purposes.

[0110] like Figure 7As further shown, process 700 may include determining the node position of the entry node based on the waypoint location of a waypoint beacon using a waypoint mapping (block 740). For example, a positioning platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may determine the node position of the entry node based on the waypoint location of a waypoint beacon using a waypoint mapping as described above.

[0111] In some implementations, determining the node location includes determining the number of location communications associated with the waypoint beacon, which is included in the group of location communications, and determining the node location based on the group of location communications that includes the number of location communications associated with the waypoint beacon.

[0112] like Figure 7 As further shown, process 700 may include configuring relay nodes of the mesh network to forward or discard subsequently received location communications associated with a waypoint beacon based on node location (block 750). For example, a location platform (e.g., using processor 420, memory 430, storage component 440, input component 450, output component 460, communication interface 470, etc.) may configure relay nodes of the mesh network to forward or discard subsequently received location communications associated with a waypoint beacon based on node location as described above.

[0113] In some implementations, the group of location communications is the first group of location communications, and process 700 includes: determining that a second group of location communications among a plurality of location communications has entered the mesh network via a relay node, wherein the second group of location communications is associated with the waypoint beacon; and determining, based on the association of the first group of location communications and the second group of location communications with the waypoint beacon, that the relay node and the entry node are within a hop count threshold of the mesh network.

[0114] In some implementations, process 700 includes configuring the relay node to forward subsequently received location communications associated with that waypoint beacon, based on the fact that the relay node and the ingress node are determined to be within a hop count threshold of the mesh network.

[0115] In some implementations, process 700 includes: when it is determined that the relay node is less than or equal to the hop count threshold of the mesh network from the ingress node, configuring the relay node to forward subsequently received location communications, or when it is determined that the relay node is greater than the hop count threshold of the mesh network from the ingress node, configuring the relay node to discard subsequently received location communications.

[0116] although Figure 7 Example blocks of process 700 are shown, but in some implementations, process 700 may include additional blocks, fewer blocks, different blocks, or blocks similar to those in other implementations. Figure 7The blocks shown are arranged differently. Alternatively, two or more blocks of process 700 can be executed in parallel.

[0117] While the foregoing disclosure provides examples and illustrations, it is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations can be made based on the foregoing disclosure, or from practical experience with the implementation.

[0118] When used in this document, the term “component” is intended to be interpreted broadly as hardware, firmware, and / or a combination of hardware and software.

[0119] When used herein, the terms "tangible machine-readable medium," "non-transient machine-readable medium," and "machine-readable storage device" are explicitly defined as storage media (e.g., hard disk platters, digital universal disks, compact disks, flash memory, read-only memory, random access memory, etc.) capable of storing machine-readable instructions (e.g., program code in the form of software and / or firmware). Furthermore, when used herein, the terms "tangible machine-readable medium," "non-transient machine-readable medium," and "machine-readable storage device" are explicitly defined as excluding signal propagation. That is, when used in any claim of this patent, a "tangible machine-readable medium" cannot be read or implemented by propagating signals. Similarly, when used in any claim of this patent, a "non-transient machine-readable medium" cannot be read or implemented by propagating signals. Furthermore, when used in any claim of this patent, a "machine-readable storage device" cannot be read or implemented by propagating signals.

[0120] When used herein, the terms “tangible machine-readable medium,” “non-transient machine-readable medium,” and “machine-readable storage device” are each expressly defined as a storage medium on which machine-readable instructions are stored for any suitable duration (e.g., permanently, for an extended period of time (e.g., while a program associated with the machine-readable instructions is being executed) and / or for a short period of time (e.g., when the machine-readable instructions are cached and / or during buffer processing)).

[0121] This article describes some implementation methods in conjunction with thresholds. When used in this article, depending on the context, a threshold can refer to a value that is greater than, more than, higher than, greater than or equal to, less than, less than, lower than, less than or equal to, or equal to the threshold.

[0122] It is evident that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit these implementations. Therefore, the operation and behavior of the systems and / or methods described herein do not refer to any specific software code, and it is understood that software and hardware can be designed to implement the systems and / or methods based on the descriptions herein.

[0123] Although specific combinations of features are listed in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in ways not specifically stated in the claims and / or not disclosed in the specification. While each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim combined with every other claim in the claim set.

[0124] No element, action, or instruction used herein should be construed as critical or necessary unless explicitly stated otherwise. Furthermore, when used herein, the articles “a” and “one” are intended to include one or more items and are interchangeable with “one or more.” Similarly, when used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and is interchangeable with “the one or more.” Furthermore, when used herein, the term “group” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and is interchangeable with “one or more.” If referring to only one item, the phrase “only one” or similar language is used. Furthermore, when used herein, the terms “having,” “with,” “with,” etc., are intended as open-ended terms. Additionally, unless explicitly stated otherwise, the word “based on” is intended to mean “at least partially based on.” Furthermore, when used in this document, the term “or” is intended to be included when used consecutively and may be used interchangeably with “and / or” unless otherwise expressly stated (e.g., if used in combination with “any” or “only one of them”).

Claims

1. A method for constructing a wireless mesh network for positioning, comprising: The positioning platform receives waypoint maps and the topology of the mesh network, wherein the waypoint maps identify the corresponding locations of waypoint beacons and one or more other waypoint beacons in the mesh network area; The positioning platform receives positioning communications associated with the waypoint beacons via the mesh network. The positioning platform is used to identify the entry node of the positioning communication, wherein the entry node corresponds to the node where the positioning communication enters the mesh network from the wireless communication device; The location of the waypoint associated with the waypoint beacon is determined based on the location information in the location communication through the positioning platform. The location of the entrance node is determined based on the waypoint location using the positioning platform. The positioning platform determines node strategies based on the location of the entry node and the topology of the mesh network; and The positioning platform, and based on the node policy, configures the relay nodes of the mesh network to forward or discard subsequently received positioning communications associated with the waypoint beacons.

2. The method for constructing a wireless mesh network for positioning according to claim 1, wherein, Determining the waypoint location includes: Identify the waypoint identifier in the location information; and The waypoint location is determined using waypoint mapping based on the waypoint identifier.

3. The method for constructing a wireless mesh network for positioning according to claim 1 further includes: The node location is determined to be within the area of ​​the waypoint location based on at least one of the following: The communication range of the waypoint beacon, or The received signal strength indication associated with the entry node that receives the location information. The received signal strength indication is included in the positioning communication.

4. The method for constructing a wireless mesh network for positioning according to claim 1, in, The method further includes: Based on the location information, a positioning process associated with the wireless communication device is performed.

5. The method for constructing a wireless mesh network for positioning according to claim 2, wherein, Configuring the relay node includes: Update the policy of the relay node to: Including the location information, and In association with the waypoint identifier, it correspondingly indicates whether the relay node will forward or discard subsequently received location communications.

6. The method for constructing a wireless mesh network for positioning according to claim 1, further comprising: The hop count of the mesh network between the relay node and the entry node is determined based on the node location. Configuring the relay node to forward subsequently received location communications includes: Subsequently received location communications are forwarded based on a hop count that is less than or equal to a hop count threshold of the mesh network originating from the ingress node. Configuring the relay node to discard subsequently received location communications includes: Subsequent location communications are discarded if the hop count exceeds a hop count threshold of the mesh network from the ingress node.

7. The method for constructing a wireless mesh network for positioning according to claim 1, wherein, The relay node is configured to forward subsequently received location communication when it is determined that the relay node's location is less than a routing length threshold of its own node's location. The relay node is configured to discard subsequently received location communications when it is determined that the relay node is greater than the route length threshold from the node's location.

8. The method for constructing a wireless mesh network for positioning according to claim 1, wherein, Based on the identification of the waypoint beacon in subsequent received location communications, one or more of the subsequent received location communications are associated with the waypoint beacon.

9. A relay node in a mesh network, comprising: Memory; as well as A processor, communicatively coupled to the memory, is configured to: Location communications associated with waypoint beacons are received via the mesh network; Node mapping is used to determine the distance between the waypoint location associated with the waypoint beacon and the relay node location of the relay node; as well as When the distance meets a distance threshold, the positioning communication is forwarded through the mesh network to enable positioning in association with the waypoint location, or When the distance does not meet the distance threshold, the positioning communication is discarded. Wherein, the distance corresponds to the number of hops in the mesh network between the relay node and the entry node of the mesh network providing the positioning communication. Wherein, the waypoint location corresponds to the entrance node location of the entrance node within the mesh network, and Wherein, the distance threshold corresponds to the hop count threshold. The processor is configured as follows: Identify the waypoint identifier of the waypoint beacon from the location communication; The entry node is identified based on the waypoint identifier and the node mapping to determine the location of the entry node within the topology of the mesh network. The location of relay nodes within the topology of the mesh network is identified based on the node mapping. The topology of the mesh network is determined based on the topology information of the mesh network in the node mapping; and The number of hops between the entry node location and the relay node location is determined based on the topology of the mesh network to determine the distance.

10. The relay node according to claim 9, wherein, The node mapping includes at least one of the following: The mapping between multiple waypoint beacons associated with the mesh network and their corresponding nearest nodes in the mesh network. The mapping of node positions of multiple nodes in the mesh network. Wherein, the relay node is one of the plurality of nodes in the mesh network; or The mapping of topology information of the plurality of nodes in the mesh network.

11. The relay node according to claim 9, wherein, The processor is configured to: Identify the waypoint identifier of the waypoint beacon from the location communication; The waypoint location is determined based on the waypoint identifier and the first item of the node mapping; and The location of the relay node is determined based on the node identifier of the relay node and the second item of the node mapping.

12. The relay node according to claim 9, wherein, The relay node is a Bluetooth Low Energy device, and the mesh network is a Bluetooth Low Energy mesh network.

13. A tangible machine-readable medium storing instructions, the instructions comprising: One or more instructions, when executed by one or more processors, cause the one or more processors to: Receives waypoint mappings that identify the corresponding waypoint locations of multiple waypoint beacons, as well as the topology of the mesh network; Receive multiple positioning communications associated with the multiple waypoint beacons via a mesh network; Identify the entry node of a group of location communications in the plurality of location communications, wherein the entry node corresponds to the node where the group of location communications enters the mesh network from the wireless communication device; The location communication group is associated with one of the multiple waypoint beacons; Based on the waypoint mapping, the node position of the entry node is determined based on the waypoint position of the waypoint beacon; and Based on the node location of the entry node and the topology of the mesh network, a node strategy is determined; Based on the node policy, the relay nodes of the mesh network are configured to forward or discard subsequently received location communications associated with the waypoint beacon.

14. The tangible machine-readable medium according to claim 13, wherein, When the execution of one or more instructions causes one or more processors to determine the node location, the one or more processors: The group of location communications is defined as including a threshold number of location communications associated with the waypoint beacon; and The location of a node is determined based on a group of location communications that include a number of thresholds associated with the waypoint beacon.

15. The tangible machine-readable medium according to claim 13, wherein, The group of location communications is the first group of location communications, and Execution of one or more instructions results in the following: It was determined that the second group of location communications among the plurality of location communications entered the mesh network via the relay node. Wherein, the second set of positioning communications is associated with the waypoint beacon; and Based on the association between the first set of location communication and the second set of location communication and the waypoint beacon, the relay node and the entry node are determined to be within the hop count threshold of the mesh network.

16. The tangible machine-readable medium according to claim 15, wherein, Execution of one or more instructions results in the following: Based on determining that the relay node and the entry node are within a threshold hop count in the mesh network, the relay node is configured to forward subsequently received location communications associated with the waypoint beacon.

17. The tangible machine-readable medium according to claim 13, in, The positioning communication identifies a waypoint beacon for positioning.

18. The tangible machine-readable medium according to claim 13, wherein, When the execution of one or more instructions causes one or more processors to configure the relay node, the one or more processors: When it is determined that the relay node is less than or equal to the hop count threshold of the mesh network from the ingress node, the relay node is configured to forward subsequently received location communications, or When it is determined that the relay node is greater than the hop count threshold of the mesh network from the ingress node, the relay node is configured to discard subsequently received location communications.

Citation Information

Patent Citations

  • Multi-hop relay path selection method and system

    CN103052132A

  • Data forwarding method and node device for mesh network

    CN105681189A

  • Probabilistic Message Filtering and Grouping

    US20150358234A1

  • System and method for lower power data routing

    US20180288563A1