Apparatus, system, and method for tracking an asset in a decentralized mesh wireless communication network

The system addresses noisy data issues in decentralized mesh networks by cleaning and filtering location data to enhance asset tracking and utilization estimation, optimizing maintenance schedules and productivity.

WO2025247512A1PCT designated stage Publication Date: 2025-12-04WESCO DIGITAL SOLUTIONS (IRELAND) LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/065129
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-31
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Decentralized mesh wireless communication networks face challenges with noisy data generation, inaccurate latitude and longitude readings, and difficulty in classifying mobile or stationary assets, leading to incorrect calculations of distance traveled and asset utilization.

Method used

A computer-implemented system and method that employs a positioning engine to receive and clean noisy location data, filter out inconsistencies, and compute asset positions using advanced machine learning algorithms to generate refined datasets, enabling accurate asset tracking and utilization estimation.

Benefits of technology

Improves asset management by providing accurate location tracking, optimizing asset utilization, and scheduling preventive maintenance, reducing maintenance costs and increasing productivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024065129_04122025_PF_FP_ABST
    Figure EP2024065129_04122025_PF_FP_ABST
Patent Text Reader

Abstract

A method for tracking an asset in a decentralized mesh wireless communication network. A positioning engine receives noisy location data from a plurality of location tracking tag devices at time intervals. At least one of the plurality of the location tracking tag devices is positioned on an asset. The plurality of location tracking tag devices form part of the decentralized mesh wireless communication network. Each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device. The positioning engine records the noisy location data received from the plurality of location tracking tag devices with a time stamp. The positioning engine generates a clean dataset from the noisy location data received from the plurality of location tracking tag devices at each recorded time stamp. The positioning engine computes a position of the asset based on the clean dataset.
Need to check novelty before this filing date? Find Prior Art

Description

APPARATUS, SYSTEM, AND METHOD FOR TRACKING AN ASSET IN A DECENTRALIZED MESH WIRELESS COMMUNICATION NETWORK BACKGROUND

[0001] In a decentralized mesh wireless communication network, data is transmitted wirelessly between location tracking tag devices using a mesh topology. The location tracking tag devices in the network form a mesh topology, where each device serves as a node. Unlike traditional networks where data travels through a central hub or router, in a mesh network, data can hop from one node to another until it reaches its destination. This decentralized architecture improves reliability and extends the network's coverage. Nodes in the mesh network use a routing protocol to determine the most efficient path for data transmission. This protocol enables nodes to dynamically adapt to changes in the network topology, such as the addition or removal of nodes or changes in signal strength. Nodes communicate with each other wirelessly using radio frequencies. When a node wants to send data to another node, it first determines the best route based on the routing protocol. The data is then transmitted wirelessly from one node to another until it reaches its destination. Mesh networks are self-organizing, meaning that nodes can join or leave the network dynamically without disrupting the overall network operation. New nodes can automatically discover and connect to neighboring nodes, and the routing protocol adapts to accommodate changes in the network topology. Mesh networks are inherently redundant and resilient. Since data can take multiple paths through the network, even if one or more nodes fail or become unreachable, alternative routes can be found to ensure that data reaches its destination. Mesh networks can scale from small local networks to large-scale deployments covering vast geographic areas. As more nodes are added to the network, the routing protocol dynamically adjusts to accommodate the increased traffic and optimize data transmission.

[0002] Overall, decentralized mesh wireless communication networks provide a flexible, robust, and scalable solution for various applications, including smart cities, loT (Internet of Things), deployments, disaster recovery, community networks, and / or tracking location of assets in warehouses, among other applications.

[0003] Despite the beneficial features provided by decentralized mesh wireless communication networks, they suffer from a variety of known challenges. Known challenges of decentralized mesh wireless communication networks includes the generation of noisy data resulting from the capture of multiple instances of the sametimestamps with varying latitude and longitude coordinates and the tendency to locate some of the location tracking tag devices in diagonal rows, resulting in reporting incorrect calculated values of latitude and longitude. The noisy data needs to be deciphered and cleaned in order to utilize it and generate relative and useful information from it.

[0004] Noisy location data captured from location tracking tag devices, among other limitations of conventional decentralized mesh wireless communication networks, pose challenges to effectively identify, track, and estimate utilization of assets distributed within the network. Additional data quality issues include inaccurate latitude and longitude readings, data captured at irregular time intervals, and / or difficulty in classifying whether an asset is mobile or stationary. For mobile assets, incorrect latitude and longitudes readings captured at irregular time intervals leads to incorrect calculations of the distance traveled by a mobile asset, may generate erroneous mobile asset speed values and locations / displacements values making it difficult to categorize asset utilization (over / under) and / or identify asset routes within a warehouse environment.SUMMARY

[0005] In one aspect, the present disclosure provides a method for tracking an asset in a decentralized mesh wireless communication network. The method comprises receiving, by a positioning engine, noisy location data from a plurality of location tracking tag devices at time intervals, wherein at least one of the plurality of the location tracking tag devices is positioned on an asset, wherein the plurality of location tracking tag devices form part of the decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; recording, by the positioning engine, the noisy location data received from the plurality of location tracking tag devices with a time stamp; generating, by the positioning engine, a clean dataset from the noisy location data received from the plurality of location tracking tag devices at each recorded time stamp; and computing, by the positioning engine, a position of the asset based on the clean dataset.

[0006] In one aspect, the present disclosure provides a system for tracking an asset in a decentralized mesh wireless communication network. The system comprises a positioning engine configured to communicate with the decentralized mesh wireless communication network; and a server coupled to the positioning engine and configured to receive real time data from the positioning engine with respect to changes in positionof at least one location tracking tag devices affixed to an asset, wherein the positioning engine is configured to: receive noisy location data from a plurality of location tracking tag devices, with at least one location tracking tag devices positioned on an asset, wherein the plurality of location tracking tag devices form part of the decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; process the received noisy location data to generate a refined dataset by filtering out inconsistencies in the noisy location data; utilize the refined dataset to compute a position of the asset; determine coordinates of the asset based on the position of the asset; and transmit the position of the asset based on the refined dataset to the server.

[0007] In one aspect, the present disclosure provides a computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to: receive noisy location data from a plurality of location tracking tag devices, with at least one location tracking tag devices positioned on an asset, wherein the plurality of location tracking tag devices form part of a decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; process the received noisy location data to generate a refined dataset by filtering out inconsistencies in the noisy location data; utilize the refined dataset to compute a position of the asset; and determine coordinates of the asset based on the position of the asset.BRIEF DESCRIPTION OF THE FIGURES

[0008] In the description, for purposes of explanation and not limitation, specific details are set forth, such as particular aspects, procedures, techniques, etc. to provide a thorough understanding of the present technology. However, it will be apparent to one skilled in the art that the present technology may be practiced in other aspects that depart from these specific details.

[0009] The accompanying drawings, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate aspects of concepts that include the claimed disclosure and explain various principles and advantages of those aspects.

[0010] The apparatuses, systems, and methods disclosed herein have beenrepresented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the various aspects of the present disclosure so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

[0011] FIG. 1 shows an individual user-centric web-based process pipeline for monitoring and determining utilization of an asset, according to at least one aspect of the present disclosure.

[0012] FIG. 2 shows a process for computing asset utilization, according to at least one aspect of the present disclosure.

[0013] FIG. 3 shows an optimization method for asset usage, according to at least one aspect of the present disclosure.

[0014] FIG. 4 shows a decentralized mesh wireless communication network positioning system, according to at least one aspect of the present disclosure.

[0015] FIG. 5 shows the outlier detection and removal process for each asset for a one-minute interval, according to at least one aspect of the present disclosure.

[0016] FIG. 6 shows a database query system, according to at least one aspect of the present disclosure.

[0017] FIG. 7 (distributed across FIGS. 7A-7C for clarity) is a logic flow diagram of a process for filtering noisy data captured via a decentralized mesh wireless communication network positioning system for managing utilization of assets, according to at least one aspect of the present disclosure.

[0018] FIG. 8 is a block diagram of a computer apparatus with data processing subsystems or components, according to at least one aspect of the present disclosure.

[0019] FIG. 9 is a diagrammatic representation of an example computer system that includes a host machine within which a set of instructions to perform any one or more of the methodologies discussed herein may be executed, according to at least one aspect of the present disclosure.

[0020] FIG. 10 is a method for tracking an asset in a decentralized mesh wireless communication network, according to at least one aspect of the present disclosure. DESCRIPTION

[0021] The following disclosure may provide exemplary systems, devices, and methods for managing assets located in a decentralized mesh wireless communication network and related activities. Although reference may be made to such decentralizedmesh wireless communication network and related activities in the examples provided below, aspects are not so limited. That is, the systems, methods, and apparatuses may be utilized for any suitable purpose.

[0022] In one aspect, the present disclosure provides a computer-implemented system and method for optimizing the number of stationary / mobile assets that can be managed within a decentralized mesh wireless communication network and improving safety, avoid collision of mobile assets, and improves productivity. The computer- implemented system and method utilizes data driven by wireless location tracking tag devices mounted on stationary / mobile assets to identify the assets and track the location of the assets over predetermined periods. Data from the location tracking tag devices is collected at predetermined time intervals and is utilized to compute route optimization, increase life span and resale value, and reduced maintenance costs of assets. The computer-implemented system and method employs optimization algorithms for estimating asset utilization based correct latitudes and longitudes derived from cleaned or refined data.

[0023] In one aspect, the present disclosure provides a computer-implemented system and method for estimating and managing the activity of stationary or mobile assets distributed within a decentralized mesh wireless communication network. As used throughout this description, a stationary or mobile asset may refer to any resource with economic value that an individual, company, or organization owns or controls, capable of producing future benefits. In the context of warehouse management, assets encompass physical items essential for operations, such as inventory, equipment, vehicles (such as forklifts, reach truck forklifts, order picker forklifts, standup forklifts), machinery (such as robots), packages, inventory items, products, goods, and even the warehouse facility itself. Such assets are managed to optimize efficiency, productivity, and overall effectiveness in the warehouse environment. While the present disclosure illustrates the use of a forklift as an asset, it is important to note that the present disclosure is not confined to this example and should not be limited in this context.

[0024] In one aspect, the present disclosure provides a computer-implemented system and method for monitoring and tracking the locations and activities of assets deployed in a decentralized mesh wireless communication network. The network receives track and trace noisy data generated by location tracking tag devices mounted on assets and sensors, or anchors, and processes the noisy data at a data center togenerate clean latitudes and longitudes and determine relative locations of assets distributed throughout the network. More specifically, the asset management system performs a descriptive analysis of locations and movements of various assets and provides a mechanism for estimating the distance travelled by various assets during a predetermined period. Various simulations are then run to determine thresholds over predetermined active periods such as, for example, seconds, minutes, hours, days, weeks, months, and / or years. In one example, the simulations are run to determine a threshold of predetermined active hours and active months. Finally, the activity and utilization measures extracted from the noisy data are utilized to estimate better maintenance schedules for each of the assets.

[0025] It will be appreciated by those skilled in the art, that noisy data can be defined as a dataset that contains incorrect, corrupt, incorrectly formatted, duplicate, and / or incomplete data. Almost all data sets will contain a certain amount of unwanted noise. Noisy data can be filtered and processed into a higher quality data set, which can be referred to as clean data or refined data. Data cleaning is a process of fixing or removing incorrect, corrupt, incorrectly formatted, duplicate, and / or incomplete data within the dataset.

[0026] The decentralized mesh wireless communication network according to the present disclosure includes a positioning engine to correct multiple instances of the same timestamps with varying latitude and longitude coordinates received by the positioning engine. Because the positioning engine may locate some of the location tracking tag devices in diagonal rows, resulting in reporting incorrect calculated values of latitudes and longitudes, algorithms are employed to decipher the noisy data and generate relevant information from it. The present disclosure proposes a federated activity estimation process comprising the following characteristics, each of which will be explained in more detail in subsequent sections of this description.

[0027] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for cleaning noisy data by removing inaccurate latitude and longitude values from a dataset and retains only those values that have a high percentage number closest to an average value (e.g., centroid) for each time stamp when the latitude and longitude values were recorded. The latitude and longitude values may be recorded at any predetermined interval, whether periodic, aperiodic, or random, including for example, intervals of seconds, minutes, hours, days,weeks, months, or years.

[0028] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for interpolating random interval data into fixed predetermined interval data by averaging longitude and latitude values within the predetermined period. Predetermined periods may include, for example, one-second interval data, one-minute interval data, one-hour interval data, one-day interval data, one- week interval data, one month-interval data, or one-year interval data.

[0029] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for determining or measuring the longest diameter per hour to identify the largest range of activity of an asset per second, minute, hour, day, week, month, or year.

[0030] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for estimating the distance traveled by an asset over a predetermined period (e.g., per hour) in order to estimate the location of the asset per the predetermined period (e.g., per hour) and decides whether the asset is active or inactive based on whether the maximum range covered per the predetermined period (e.g., per hour) is greater than a predetermined threshold.

[0031] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for analyzing the active time (e.g., number of hours / days) of an asset and the distance traveled by the asset computed based on the active time (e.g., the number of active hours / days).

[0032] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for creating various simulation sets by using parameters - active seconds, active minutes, active hours, active days, active months, or active years to run multiple simulations in order to obtain thresholds for active seconds per minute, active minutes per hour, active hours per day, active days per week, active weeks per month, or active months year, for example.

[0033] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for evaluating asset utilization based on a design capacity through optimal hyper-parameter tuning for multiple thresholds.

[0034] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for estimating preventive maintenance schedules for each asset based on activity, distance traveled, and / or utilization.

[0035] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for mitigating the effects of variations in captured data, such as multiple instances of the same timestamps with varying coordinates using data fusing and filtering techniques. By integrating and processing data from multiple sources such as, location tracking tag devices, redundant or noisy data can be filtered out to improve the accuracy of location calculations.

[0036] In one aspect, the present disclosure provides a computer-implemented federated activity estimation system and method for identifying and correcting anomalies in the location data using spatial analysis techniques. By recognizing patterns in the data and comparing them to expected distributions, the system can detect and correct inaccuracies in latitude and longitude calculations.

[0037] In one general aspect, the computer-implemented federated activity estimation system and method employs advanced machine learning (ML) algorithms and large language models (LLM) to analyze the data collected from the location tracking tag devices and extract meaningful insights from the data. These algorithms learn from past data patterns and predict classifications based on new observations to improve the accuracy of activity estimation for an asset. The nature of the activity estimation approach allows for collaborative learning across multiple nodes or location tracking tag devices distributed throughout the network. By sharing knowledge and insights while preserving data privacy, nodes can collectively improve the accuracy of activity estimation and location tracking. In one general aspect, the computer-implemented system and method is configured to continuously adapt its estimation models based on incoming data and feedback. This dynamic adjustment can help to account for changes in the network environment, such as variations in signal strength or the addition of new nodes, ensuring that the estimation process remains accurate and reliable over time. By incorporating these characteristics, the activity estimation approach aims to overcome limitations of decentralized mesh wireless communication networks and provide robust, accurate, and actionable insights from noisy data.

[0038] In one aspect, the computer-implemented system and method for tracking an asset in a decentralized mesh wireless communication network according to the present disclosure provides several advantageous and distinctive features over conventional decentralized mesh wireless communication networks. In one aspect, for example, the present disclosure provides optimization algorithms for computing and evaluating thethresholds for defining the movement of assets such as forklifts, for example, based on noisy data. In one aspect, the algorithms determine active versus idle assets by calculating certain parameters to achieve more accurate results. In one aspect, the present disclosure provides a computer-implemented system and method for computing and evaluating thresholds for defining movement of assets and determining an active versus idle states of assets. This identification may help warehouse managers to determine the optimized number of assets and their operators to be used in a warehouse and hence making decisions for the best use of cost and resources.

[0039] In one aspect, the present disclosure provides a computer-implemented system and method for evaluating utilization metrics based on design capacity of various assets, such as forklifts, for example. In one aspect, the design capacity may vary based on different operating conditions within a warehouse or other predetermined area. The assets, such as forklifts, for example, can be evaluated based on their design capacity and actual capacity to compute their utilization.

[0040] In one aspect, the present disclosure provides a computer-implemented system and method for scheduling and planning preventive maintenance based on asset utilization data to optimize scheduled and planned preventative measures as maintenance demands vary based on asset utilization. Accordingly, in one aspect the present disclosure provides improved maintenance schedules based on asset usage. In the context of asset maintenance, the present disclosure provides a computer- implemented system and method for (1 ) evaluating utilization of different assets in a warehouse, (2) generating alerts notifications for the overutilized and underutilized assets (3) preventive and predictive maintenance based on data analysis for these assets.

[0041] In one aspect, the present disclosure provides a computer-implemented system and method for generating recommendations for a number of assets used across different warehouses. Such recommendations may include providing periodic alert notifications for assets that have been overutilized, underutilized, or idle for a predetermined period. Such alerts prompt managers to explore reasons for overutilized, underutilized, or idle assets. A comparison of various asset utilizations could enable warehouse managers to make optimum choices in the selection of new assets.

[0042] In one aspect, the present disclosure provides a computer-implemented system and method for tracking and keeping a record of asset maintenance schedulesto reduce asset down time and increase overall productivity.

[0043] T urning now to the figures, FIG. 1 shows an individual user-centric web-based process pipeline system 100 for monitoring and determining utilization of an asset, according to at least one aspect of the present disclosure. The system 100 employs an algorithm for computing and visualizing the location, activity, and / or utilization of a given asset based on noisy location data captured by a decentralized mesh wireless communication network (see FIG. 4: decentralized mesh wireless communication network 402, for example) in order to further recommend a desired action schedule for the asset.

[0044] In one example, the assets may include forklifts. In general, a user 102 may select forklifts from a list of available forklifts such as, for example, reach truck forklifts, order picker forklifts, standup forklifts, in a specified warehouse location and the time period for which the user wants to view the utilization in terms of total number of active hours, peak usage occurrence, and underutilized hours for a one or more than one forklift. The algorithm uses information entered via a user interface to find an optimal threshold by defining an optimization function. These thresholds are then further used to compute the average utilization and results are retrieved to show the active and inactive status of various assets. The output showing various parameters such as hours of use or hours of idle time can be exported in the form of a comma-separated values (CSV) for further use.

[0045] With reference back to FIG. 1 , the user 102 selects 104 a given asset through an application. As the input passes through a processing engine, various calculations will be performed to estimate 106 the optimized threshold hour(s) per day, compute and average 108 active hour(s) per day to determine an average of active hours for each asset. The system 100 then compares 110 the average active hours of the number of active assets per location with a threshold hours per day for each asset and identifies assets with hours less than the threshold hours. The system 100 presents average asset utilization, number of peak occurrences, and underutilized assets, for example.

[0046] Based on the average utilization hours per day, the system 100 will take into account overutilized assets 112 or underutilized assets 116. For overutilized assets 112 and underutilized assets 116, the system 100 sends alerts to warehouse managers (within specified zones). The purpose of the alert notifications is timely communication of information of overutilized assets 112 and underutilized assets 116 to improvewarehouse operation, for example. Maintenance requirements of overutilized assets 112 may be computed to occur once every y weeks 114 and maintenance requirements for underutilized assets 116 may be computed to occur once every x weeks 118.

[0047] FIG. 2 shows a process 200 for computing asset utilization, according to at least one aspect of the present disclosure. According to the process 200, noisy data received by the mesh network (see FIG. 4: decentralized mesh wireless communication network 402, for example) is stored in a database 202. The location of assets is estimated 204 and the average coordinates of the assets is computed. Hyper parameters are tuned 206 for multiple thresholds 212, where the multiple thresholds 212 are defined for active and inactive assets. For example, thresholds for assets may be defined for hourly travel distance (alpha), hourly maximum distance (beta), and / or day asset active (gamma), among other predefined thresholds, for example. By comparing the location estimation data to the multiple thresholds 212, active / inactive assets are identified 210 and the utilization of assets is then computed 208.

[0048] As shown in the diagram to the right, the computed utilization of assets may be categorized as overutilized assets 214, underutilized assets 216, and / or idle assets 218, for example. Overutilized assets 214, such as, for example, asset-1 utilization, asset-2 utilization, up to asset-n, are assets with a computed utilization that is greater than m%. Underutilized assets 216, such as, for example, asset-1 utilization, asset-2 utilization, up to asset-n, are assets with a computed utilization that is less than n%. Idle assets 218, such as, for example, asset-1 utilization, asset-2 utilization, up to asset-n, are assets with a computed utilization of 0%. The utilization % (e.g., m and n) is the percentage ratio of estimated capacity of an asset to design capacity of an asset as follows: . 1n00

[0050] FIG. 3 shows an optimization method 300 for asset usage, according to at least one aspect of the present disclosure. With reference now to FIG. 3 together with FIGS. 1 and 2, the optimization method 300 shown in FIG. 3 includes the following functions:Step 1 : Determine 302 asset positioning information from noisy data captured via a decentralized mesh wireless communication network.Step 2: Extract 304 real time data, transform the data, and pre-process the data. Step 3: Deduce and calculate 306 the number of active hours per day through anoptimization model.Step 4: Analyze 308 hyper-parameter tuning for multiple thresholds.Step 5: Determine 310 utilization metrics for assets based on the simulation.Step 6: Represent 312 various utilizations of assets based on location selection and asset type selection.Step 7: Send 314 alert notifications for assets that are idle (e.g., not in use), overutilized, or underutilized, among others.Step 8: Determine 316 maintenance requirements for assets based on utilization within a warehouse.

[0051] Each step of the optimization method 300 outlined above is elaborated upon in detail below.

[0052] Step 1 : Determine Asset Positioning Information from Noisy Data Captured Via a Decentralized Mesh Wireless Communication Network.

[0053] FIG. 4 shows a decentralized mesh wireless communication network positioning system 400, according to at least one aspect of the present disclosure. The system 400 comprises a decentralized mesh wireless communication network 402 for real-time localization of assets. The network 402 comprises a plurality of wirelessly interconnected nodes 418 that communicate over a protocol such that all the nodes 418 within a predetermined range are able to connect to each other directly, allowing data routing through one or more than one gateway 404 via multiple hops to a mesh network backend 408. The mesh network backend 408 is a server-side component of the system 400 that handles data processing, storage, and logic, and interacts with databases and other services to fulfill requests received at the front end. The mesh network backend 408 is responsible for managing and manipulating data, ensuring the functionality and performance of the overall system 400. The mesh network backend 408 communicates with an output device such as a client device 410 with a computer monitor to display information in pictorial or textual form. The gateway 404 can communicate with the mesh network backend 408 through a Message Queuing Telemetry Transport (MQTT) broker 406.

[0054] The mesh network backend 408 comprises a mesh network server 420 hosting a mesh network positioning engine 422. The mesh network server 420 hosts and manages the mesh network positioning engine 422, which may comprise software or hardware components responsible for executing computational tasks associated withdetermining the positions of assets 414a-414f based on noisy date received from the location tracking tag devices 412a-412f. The mesh network server 420 provides resources and infrastructure for the mesh network positioning engine 422 to operate efficiently, such as processing power, memory, and storage. In one aspect, the mesh network server 420 acts as a platform for the mesh network positioning engine 422 to perform its tasks.

[0055] As shown in FIG. 4, the decentralized mesh wireless communication network positioning system 400 utilizes location tracking tag devices 412a-412f mounted on corresponding assets 414a-441f and corresponding anchor devices 416a-f placed at fixed locations in the decentralized mesh wireless communication network 402. The location tracking tag devices 412a-412f can be used to identify assets 414a-414f upon which they are mounted and then tracking the location of that asset 414a-414f, whether or not the asset is mobile or stationary. The location tracking tag devices 412a-412f positioned on assets 414a-414f collect received signal strength indication (RSSI) from the nearby anchor devices 416a-416f on regular time intervals. The anchor devices 416a-416f act as location references for the location tracking tag devices 412a-412f and are used to route information from the location tracking tag devices 412a-412f to the nearest gateway 404, which acts as a bridge between the network 402 and the mesh network backend 408 for passing information to the mesh network server 420 where the mesh network positioning engine 422 runs. The mesh network positioning engine 422 architects a stream-based processing engine that computes the position of an asset 414a-414f based on known positions of the anchor devices 416a-416f and the RSSI measurements coming from the asset location tracking tag devices 412a-412f. This position is further translated to infer the latitude and longitude coordinates of the asset 414a-414f on the floor plan of a warehouse or similar large building where raw materials or manufactured goods may be stored before their export or distribution for sale. The mesh network positioning engine 422 computes positioning data for any backend system such as, for example the mesh network backend 408. In one aspect, the mesh network backend 408, the mesh network server 420, and / or the mesh network positioning engine 422 can be located locally within the system 400 or can be located remotely in the cloud, or a combination thereof where some components are distributed locally and other components are distributed remotely.

[0056] The mesh network server 420 is configured to support MQTT JavaScriptObject Notation (JSON) Application Programming Interface (API). The mesh network server 420 receives the real time position change data of the location tracking tag devices 412a-412f along with all other relevant information for integration. Those skilled in the art will appreciate that MQTT is a lightweight, publish-subscribe, machine-to-machine network protocol for message queue / message queuing service. It is designed for connections with remote locations, such as the mesh network backend 408, that have devices with resource constraints or limited network bandwidth, as may be applicable to the Internet of Things (IOT). Those skilled in the art also will appreciate that the JSON API is an application programming interface designed for lightweight data interchange (text-based data exchange format) between two computer applications operating on the same hardware device or between different computers in different geographical areas.

[0057] Step 2: Real Time Data Extraction, Transformation, and Pre-processing.

[0058] FIG. 5 shows an outlier detection and removal process 500 for each asset for a one-minute interval, according to at least one aspect of the present disclosure. With reference now to FIG. 5 together with FIG. 4, point C is the centroid of a bounded area 502 and represents the average of all longitude and latitude coordinates of assets 412a- 414f as determined by the positions P1-P9 based on the location tracking tag device 412a-412f data gathered within a predetermined period of a single minute, for example. It will be appreciated that in addition to a single minute, other time periods may be employed such as, for example, one or more than one second, minute, hour, day, week, month, and / or year. The smaller circle 504 represents an outlier position P7 for location estimation per minute because it is located far from the centroid C compared to the other points P1-P6 and P8-P9 that are located within the bounded area 502.

[0059] During the outlier detection and removal process 500, the raw data from the location tracking tag devices 412a-412f are received by the mesh network server 420 and is processed by the mesh network positioning engine 422 through a sequence of logical steps. The input raw data from the location tracking tag devices 412a-412f are stored in input files segregated into individual files for each asset 414a-414f corresponding to a location tracking tag device 412a-412f. The raw data are processed, cleaned, and merged to form processed data for different types of assets 414a-414f. To improve computational performance, large raw data files can be split into single device ID data files to identify the assets 414a-414f. Then, each asset 414a-414f device ID can be pre-processed by the mesh network positioning engine 422 according to the followingcomputer-implemented method:(1 ) Remove incorrect longitude and latitude records lying outside of the warehouse;(2) Remove outliers due to duplicate records within second, estimation location, and interquartile range (IQR);(3) Remove outliers:(a) Local assumption: outliers where their values beyond several times the IQR;(b) Location estimation: outliers within every minute by retaining the high percentage number of longitude and latitude that are closest to the averaging value for each minute; and(4) Interpolate the random interval data into one-minute interval data by averaging longitude and latitude within one-minute intervals.

[0060] In the next step, two new attributes are generated by processing the clean and pre-processed minute-based data based on the predefined logic for further analysis by the mesh network positioning engine 422 according to the following computer- implemented method:(1 ) Generate farthest two-point distance within one-hour estimation; and(2) Generate distance travelled within one-hour computation.

[0061] Step-3: Deducing And Calculating the Number of Active Hours Per Day Through an Optimization Model

[0062] In Step 3, the analysis and approach are optimized so as to follow any underlying trends and patterns in the data. To narrow down the thresholds, relevant metrics are chosen from the available data and a formula is correspondingly formulated based on these metrics.

[0063] THRESHOLD_HOUR_TRAVEL_DISTANCE_ASSET_ACTIVE (InPercentile) is the minimum percentile of distance moved by the asset to label the asset active;

[0064] THRESHOLD_HOUR_MAX_DISTANCE_ASSET_ACTIVE (In Percentile) is the minimum percentile of Maximum distance moved by the asset within 1 hour to label the asset active;

[0065] THRESHOLD_DAY_ASSET_ACTIVE (In Number) is the minimum number of active hours from the above two definitions to finally label the asset active for the day.

[0066] Metrics involved to find the optimal threshold:

[0067] NUMBER_OF_WEEKDAYS (A) is the number of weekdays out of the total days taken for analysis.

[0068] NUMBER_OF_WEEKEND_DAYS (B) is the number of days which come under weekend (Saturday and Sunday)

[0069] NUMBER_OF_WEEKDAYS_WHERE_HRS_LESS_THAN_2_HRS (C) is the number of weekdays where active hours moved by the asset is less than 2 hours. In one aspect, this number can be minimum for a threshold.

[0070] NUMBER_OF_WEEKDAYS_WHERE_HR_GREATER_THAN_15_HRS (D) is the number of weekdays where active hours moved by the asset is greater than 15 hours. Ideally this number should be minimum for a good threshold.

[0071] NUMBER_OF_ACTIVE_WEEKDAYS (E) is the number of weekdays which are labelled as active with the given set of thresholds.

[0072] NUMBER_OF_DAYS_WHERE_ACTIVE_HRS_GREATER_THAN_2_HRS(F) is the number of days which come under weekend where active hours are greater than 2 hours. In one aspect, this number can be minimum for a good threshold.

[0073] NUMBER_OF_ACTIVE_WEEKENDS (G) is the number of days which come under weekend where the asset is labelled as active for the given set of thresholds.

[0074] An optimal threshold may be determined by the mesh network positioning engine 422 by evaluating the following optimization function:

[0075] 0.33 x D) - (0.33 x F)

[0076] Where t can be maximum for any given set of thresholds and metrics A-G are defined above.

[0077] Step-4: Example Procedure for Hyper-parameter Thresholds Tune Analysis

[0078] The optimally selected parameter thresholds (t) are the combination of parameters obtained by running experiments based upon predefined values and then selecting the value for the hyper-parameter computed by the mesh network positioning engine 422 based upon the following computer-implemented method:(1 ) Maximize the active weekdays (af) out of total number of weekdays;(2) Minimize the active weekends (ae) out of total number of weekend days;(3) Minimize the number of weekdays (a / ) where active hours moved by an asset is less than 2 hours;(4) Minimize the number of weekdays (ag) where active hours travelled by theasset is greater than 9 hours; and(5) Minimize the number of weekend days (aeg) where active hours travelled by an asset is greater than 2 hours.

[0079] The optimal hyper-parameter y(t) is defined by the following equation:

[0080] y(t) — max(at) + min (cze) + min (at) + min (ag) + min (aeg)

[0081] Step 5: Determining Utilization Metrics for Assets Based on Simulation

[0082] Determining utilization metrics for assets 414a-414f based on the simulation comprises using the ratio of actual run time (Ar) (in hours) and design run time (Dr) (in hours) of one or more assets 414a-414f. In one aspect, Ar may be the actual run time of assets 414a-414f within a warehouse based on empirical metrics such as the number of hours per day the asset is active 414a-414f and the number of days per month the asset 414a-414f is active. The criteria for “asset active per hour” are defined as:

[0083] hourly maximum range > alpha & hourly travelled distance > beta where alpha and beta are fixed thresholds that are computed based on various simulations carried out depending on the type of asset 414a-414f and the dimensions of warehouse.

[0084] The criteria for “asset active per day” are defined as:

[0085] number of active hours > gamma where gamma is a fixed threshold that is computed out of various simulations carried out depending on the asset type and the dimensions of warehouse.

[0086] As used herein Dr is defined as the design run time, which is predefined within each warehouse based on the warehouse operations.

[0087] Based on the above, percentage utilization of an asset 414a-414f is defined by the following equation: 100

[0089] Step 6: Representation of Various Utilizations Based on Location Selection and Asset Type Selection

[0090] Given the location and type of asset 414a-414f, asset utilization is analyzed based on the optimal threshold set, which contains many key performance indicators (KPIs) can be shown on a dashboard display of the client device 410. The analysis will show the micro and macro views on the assets 414a-414f that are utilized in the warehouse as follows:(1 ) Average utilization by type is an overview on the average number ofhours for each asset type during the period of interest;(2) Utilization is the total number of hours utilized during the period of interest;(3) Number of assets with service issues is the number of assets with the total utilized hours during the period of interest that is less than 1 hour;(4) Peak usage occurrence is the number of days with averaged utilization (all assets) based on the number of active hours per days greater than 90% during the interest period; and(5) Average utilization shows averaged utilization (all assets) based on the number of active hours per days through a time series plot by day.

[0091] Step 7: Send Alert Notifications for Assets that Are Idle (Not In Use), Overutilized, and / or Underutilized.

[0092] Alerts will be sent to the maintenance team to further actions for those assets 414a-414f which are overutilized, underutilized, and / or idle as follows:(1 ) Assets overutilized for last 3 days;(2) Assets underutilized for last 3 days;(3) Assets idle for last 3 days; and(4) Active asset that idle for last 3 days.

[0093] FIG. 6 shows a database query system 600, in accordance with at least one aspect of the present disclosure. The database query system 600 comprises a computation engine 602 and an alerts management system 604. The computation engine 602 of the database query system 600 computes utilization percentage of assets, denoted as Asset-1 (x1 %), Asset-2 (x2%), Asset-3 (x3%), ... Asset-n (xn%). Notifications of overutilized assets 614, underutilized assets 616, and / or idle assets 618 are sent to a notification hub 606 of an alerts management system 604. The alerts management system 604 stores a database of information for various parameters such as, for example, asset type and asset utilization and identifies the assets which have been idle or less / more in use continuously from last n number of days. The alerts management system 604 responds to the notification signals which identify significant alerts to be delivered via e-mail, short messaging service (SMS) notification to the notification hub 606. In one aspect, the computation engine 602 is the mesh network positioning engine 422 or other computation engine hosted and managed by the mesh network server 420 shown in FIG. 4.

[0094] Step 8: Maintenance Requirements Based on Utilization Within a Warehouse

[0095] Preventive maintenance may be done in order to avoid the untimely breakdown of assets 414a-414f and mitigate unforeseen maintenance issues and minimize potential disruptions due to unplanned repairs. This also aids in reducing extra costs for reactive maintenance.

[0096] In one aspect, the decentralized mesh wireless communication network positioning system 400 facilitates proactive and effective preventive maintenance scheduled for assets 414a-414f based on the following criteria:(1) The calculation of the number of hours usage, the maintenance frequency requirements for assets 414a-414f that are directly proportional to their usage in number of hours. Hence the overutilized assets 414a-414f will require more maintenance and this relationship may be expressed as follows:Hours of use <x Frequency of Service(2) The time when assets 414a-414f are usually not much in use, in order to have less impact on the warehouse running operations.

[0097] Moreover, the identification of underutilized assets 414a-414f in a warehouse could provide a prior indication of the possible existence of breakdown of assets 414a- 414f in the warehouse or the assets that may be prone to excessive maintenance requirements (e.g., breakdowns) and hence recommends planning their servicing in advance.

[0098] FIG. 7 (distributed across FIGS. 7A-7C for clarity) is a logic flow diagram of a process 700 for filtering noisy data captured via a decentralized mesh wireless communication network positioning system 400 (FIG. 4) for managing utilization of assets, according to at least one aspect of the present disclosure. The process 700 is divided into several phases including an extract, transform, and load (ETL) preprocessing phase 702, a processing phase 704, a hyper-parameter threshold tuning phase 706, a re-computing number of hours per day phase 708, 714, and a KPI metrics for Ul / UX components phase, which includes an analysis phase 770 and an alerts phase 780, in accordance with various aspects of the present disclosure. The process 700 will now be described in conjunction with FIG. 4. By way of example and not limitation, the assets 414a-414f described in conjunction with the process 700 depicted in FIGS. 7A-7C are represented may be referred to as forklifts. It should be understood, however, that the process 700 is similarly applicable to a variety of assets such as, for example, mobile orstationary assets including inventory, equipment, vehicles (such as forklifts, reach truck forklifts, order picker forklifts, standup forklifts), machinery (such as robots), packages, inventory items, products, goods, and even the warehouse facility itself.

[0099] Turning first to FIG. 7A, the ETL preprocessing phase 702 comprises a data integration process that the combines, cleans, and organizes data from multiple sources(e.g., location tracking tag devices 412a-412f) into a single, consistent data set for storage in a data warehouse, data lake, or other target storage system. In the context of the present disclosure, the ETL preprocessing phase 702 generally comprises combining, cleaning, and organizing data from multiple location tracking tag devices 412a-412f positioned on assets 414a-414f into a single, consistent data set for storage in a data warehouse, data lake, or other target storage system. As shown in FIG. 7A, raw data 720 received by the mesh network server 420 is stored in a database and is split 722 based on device IDs associated with the assets 414a-414f to improve computational efficiency. The split raw data 724 is stored in a database in the form of files, or other forms, including, for example, ordered / unordered flat files, indexed sequential access method (ISAM), heap files, hash buckets, or B+ trees. Preprocessed data 726 is cleaned and the cleaned data 728 is stored in a database in the form of files, or other forms as discussed above.

[0100] During the processing phase 704, the cleaned data 728 is concatenated 730 based on the same type of asset 414a-414f. The concatenated data is utilized to estimate732 the longest two-point distance traveled by an asset 414a-414f within a predetermined period, such as, for example one-hour. Next, the estimated longest two- point distance traveled within one-hour is utilized to estimate 734 the distance traveled by an asset 414a-414f within one-hour. The processed data 736 is stored in a database in the form of files, or other forms, for example, as discussed above.

[0101] During the hyper-parameter threshold tuning phase 706, the preprocessed data 736 is used to decide 740 thresholds for active / inactive assets 414a-414f within one-hour. The preprocessed data 736 also is used to decide 742 the threshold for active / inactive assets 414a-414f within a single-day. Subject to an objective function, the thresholds are set 744 to minimize. The compromised optimal hyper-parameters 746 are stored in a database.

[0102] Processing now continues to the re-computation of the number of hours per day phase 708 in FIG. 7B. From FIG. 7A, user inputs 750 such as date, time, location,and type of asset 414a-414f, the preprocessed data 736, and the compromised optimal hyper-parameters 746 are used to compute 760 (FIG. 7B) the number of active hours per day for each device ID associated with the assets 414a-414f for the current and the previous period. The utilization metric based on the number of hours per day an asset 414a-414f is utilized is computed 762 for a current and a previous period. The user inputs764 any additional relevant information along with the output of the previous stage to process and compute 766 a plurality of metrics. The plurality of metrics computed in the re-computation of the number of hours per day phase 708 is used to compute 790 (FIG. 7C) asset utilization based on the number of hours per day for three consecutive days right before the current day.

[0103] Turning back to FIG. 7B, the process 700 continues to the KPI metrics for Ul / UX components phase 710 to initiate the analysis phase 770 of the preprocessed data and the processed data received from the location tracking tag devices 412a-412f. One of the outputs of the computation 760 is a bar chart 771 of the average per type of asset 414a-414f depicting average utilization by type of asset 414a-414f within the current and the previous date range. Another output of the computation 760 is a bar chart 772 of an average per device ID depicting average utilization by type of asset 414a-414f within the current and the previous date range. Another output of the computation 760 is a summation of all assets 414a-414f displayed as the utilization 773 based on the number of hours. Yet another output of the computation 760 is a summation per device ID displayed 774 as the number of assets 414a-414f with service issues for less than one hour per day. The peak usage 775 occurrence (>90%) is displayed as a number. The number of peak usage 776 occurrences (>90%) is displayed as a figure. If the compute 762 function output is the specific location and / or specific type of asset 414a-414f, it is averaged and the average utilization by date and time is displayed 777 as a time series plot. Finally, the output of the computation 766 is displayed 778 as a data frame with many columns.

[0104] With reference now to FIGS. 7B and 7C, the alerts phase 712 manages alerts 780 based on inputs received from the re-computation number of hours per day phase 714 shown in FIG. 7C. A first alert 782 (FIG. 7B) indicates overutilized assets 412a-414f(e.g., forklifts). The first alert 782 is based on a first output of a computation 790 (FIG. 7C) that calculates asset 414a-414f utilization based on the number of hours per day for three consecutive days right before the current day. The first output of the computation790 is a count and show of all assets 414a-414f with all three days of utilization that is greater than 90%. The first output triggers the first alert 782 when assets 414a-414f have been overutilized for the past three days, or some other predetermined period.

[0105] A second alert 784 (FIG. 7B) indicates underutilized assets 412a-414f (e.g., forklifts). The second alert 784 is based on a second output of the computation 790 (FIG.7C), which is a count and show of all assets 414a-414f with three days utilization that is less than 30%. The second triggers the second alert 784 when assets 414a-414f have been underutilized for the last three days, or some other predetermined period.

[0106] A third alert 786 (FIG. 7B) indicates idle assets 414a-414f (e.g., forklifts). The third alert 786 is based on a third output of the computation 790 (FIG. 7C), which is a count and show of all assets 412a-412f with all three days of utilization that is equal to 0%. The third output triggers the third alert 786 when assets 412a-414f have been idle for the last three days, or some other predetermined period.

[0107] A fourth alert 788 (FIG. 7B) indicates active assets 414a-414f (e.g., forklifts) that have remained idle for the past three days, or some other predetermined period.The fourth alert 788 is based on a computation 792 of utilization based on the number of hours per day for three consecutive days right before the current day and three consecutive days right before the three days prior. The computation 792 checks for two conditions to be true. First, it determines if all utilization for three consecutive days right before the current day is 0%. Second, it determines if all utilization for three consecutive days right before the three days prior is greater than 90%.

[0108] FIG. 8 is a block diagram of a computer apparatus 800 with data processing subsystems or components, according to at least one aspect of the present disclosure. The computer apparatus 800 is representative of a computer for executing the functionalities described above in connection with FIGS. 1-7. The subsystems shown inFIG. 8 are interconnected via a system bus 810. Additional subsystems such as a printer 818, keyboard 826, fixed disk 828 (or other memory comprising computer readable media), monitor 822, which is coupled to a display adapter 820, and others are shown. Peripherals and input / output (I / O) devices, which couple to an I / O controller 812 (which can be a processor or other suitable controller), can be connected to the computer system by any number of means known in the art, such as a serial port 824. For example, the serial port 824 or external interface 830 can be used to connect the computer apparatus to a wide area network such as the Internet, a mouse input device, or ascanner. The interconnection via system bus allows the central processor 816 to communicate with each subsystem and to control the execution of instructions from system memory 814 or the fixed disk 828, as well as the exchange of information between subsystems. The system memory 814 and / or the fixed disk 828 may embody a computer readable medium.

[0109] FIG. 9 is a diagrammatic representation of an example computer system 900 that includes a host machine 902 within which a set of instructions to perform any one or more of the methodologies discussed herein may be executed, according to at least one aspect of the present disclosure. The computer system 900 is representative of the gateway 404 or mesh network backend 408 shown in FIG. 4 and can be employed for executing the functionalities described above in connection with FIGS. 1-7, for example. In various aspects, the host machine 902 operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the host machine 902 may operate in the capacity of a server or a client machine in a server- client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The host machine 902 may be a computer or computing device, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a portable music player (e.g., a portable hard drive audio device such as an Moving Picture Experts Group Audio Layer 3 (MP3) player), a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[0110] The example system 900 includes the host machine 902, running a host operating system (OS) 904 on a processor or multiple processor(s) / processor core(s) 906 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), and various memory nodes 908. The host OS 904 may include a hypervisor 910 which is able to control the functions and / or communicate with a virtual machine (“VM”) 912 running on machine readable media. The VM 912 also may include a virtual CPU or vCPU 914. The memory nodes 908 may be linked or pinned to virtual memory nodes or vNodes 916. When the memory node 908 is linked or pinned to a corresponding vNode 916, then data may be mapped directly from the memory nodes 908 to the correspondingvNode 916.

[0111] All the various components shown in host machine 902 may be connected with and to each other or communicate to each other via a bus (not shown) or via other coupling or communication channels or mechanisms. The host machine 902 may further include a video display, audio device or other peripherals 918 (e.g., a liquid crystal display (LCD), alpha-numeric input device(s) including, e.g., a keyboard, a cursor control device, e.g., a mouse, a voice recognition or biometric verification unit, an external drive, a signal generation device, e.g., a speaker,) a persistent storage device 920 (also referred to as disk drive unit), and a network interface device 922. The host machine 902 may further include a data encryption module (not shown) to encrypt data. The components provided in the host machine 902 are those typically found in computer systems that may be suitable for use with aspects of the present disclosure and are intended to represent a broad category of such computer components that are known in the art. Thus, the system 900 can be a server, minicomputer, mainframe computer, or any other computer system. The computer may also include different bus configurations, networked platforms, multi-processor platforms, and the like. Various operating systems may be used including UNIX, LINUX, WINDOWS, QNX ANDROID, IOS, CHROME, TIZEN, and other suitable operating systems.

[0112] The disk drive unit 924 also may be a Solid-state Drive (SSD), a hard disk drive (HDD) or other includes a computer or machine-readable medium on which is stored one or more sets of instructions and data structures (e.g., data / instructions 926) embodying or utilizing any one or more of the methodologies or functions described herein. The data / instructions 926 also may reside, completely or at least partially, within the main memory node 908 and / or within the processor(s) 906 during execution thereof by the host machine 902. The data / instructions 926 may further be transmitted or received over a network 928 via the network interface device 922 utilizing any one of several well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).

[0113] The processor(s) 906 and memory nodes 908 also may comprise machine- readable media. The term "computer-readable medium" or “machine-readable medium” should be taken to include a single medium or multiple medium (e.g., a centralized or distributed database and / or associated caches and servers) that store the one or more sets of instructions. The term "computer-readable medium" shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions forexecution by the host machine 902 and that causes the host machine 902 to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAM), read only memory (ROM), and the like. The example aspects described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.

[0114] One skilled in the art will recognize that Internet service may be configured to provide Internet access to one or more computing devices that are coupled to the Internet service, and that the computing devices may include one or more processors, buses, memory devices, display devices, input / output devices, and the like. Furthermore, those skilled in the art may appreciate that the Internet service may be coupled to one or more databases, repositories, servers, and the like, which may be utilized to implement any of the various aspects of the disclosure as described herein.

[0115] The computer program instructions also may be loaded onto a computer, a server, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0116] Suitable networks may include or interface with any one or more of, for instance, a local intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a MAN (Metropolitan Area Network), a virtual private network (VPN), a storage area network (SAN), a frame relay connection, an Advanced Intelligent Network (AIN) connection, a synchronous optical network (SONET) connection, a digital T1 , T3, E1 or E3 line, Digital Data Service (DDS) connection, DSL (Digital Subscriber Line) connection, an Ethernet connection, an ISDN (Integrated Services Digital Network) line, a dial-up port such as a V.90, V.34 or V.34bis analog modem connection, a cable modem, an ATM (Asynchronous Transfer Mode) connection,or an FDDI (Fiber Distributed Data Interface) or CDDI (Copper Distributed Data Interface) connection. Furthermore, communications may also include links to any of a variety of wireless networks, including WAP (Wireless Application Protocol), GPRS (General Packet Radio Service), GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access) or TDMA (Time Division Multiple Access), cellular phone networks, GPS (Global Positioning System), CDPD (cellular digital packet data), RIM (Research in Motion, Limited) duplex paging network, Bluetooth radio, or an IEEE 802.11 -based radio frequency network. The network can further include or interface with any one or more of an RS-232 serial connection, an IEEE-1394 (Firewire) connection, a Fiber Channel connection, an IrDA (infrared) port, a SCSI (Small Computer Systems Interface) connection, a USB (Universal Serial Bus) connection or other wired or wireless, digital or analog interface or connection, mesh or Digi® networking.

[0117] In general, a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors (such as within web servers) and / or that combines the storage capacity of a large grouping of computer memories or storage devices. Systems that provide cloud-based resources may be utilized exclusively by their owners or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.

[0118] The cloud is formed, for example, by a network of web servers that comprise a plurality of computing devices, such as the host machine 902, with each server 930 (or at least a plurality thereof) providing processor and / or storage resources. These servers manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in realtime, sometimes dramatically. The nature and extent of these variations typically depends on the type of business associated with the user.

[0119] It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. The terms “computer-readable storage medium” and “computer-readable storage media” as used herein refer to any medium or media that participate in providing instructions to a CPU for execution. Such media can take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as a fixed disk. Volatile media include dynamic memory,such as system RAM. Transmission media include coaxial cables, copper wire and fiber optics, among others, including the wires that comprise one aspect of a bus. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, any other physical medium with patterns of marks or holes, a RAM, a PROM, an EPROM, an EEPROM, a FLASH EPROM, any other memory chip or data exchange adapter, a carrier wave, or any other medium from which a computer can read.

[0120] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU.

[0121] Computer program code for carrying out operations for aspects of the present technology may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, or the like and conventional procedural programming languages, such as the "C" programming language, Go, Python, or other programming languages, including assembly languages.The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0122] FIG. 10 is a method 1000 for tracking an asset in a decentralized mesh wireless communication network, according to at least one aspect of the present disclosure. The method 1000 can be implemented within the processing environment of the decentralized mesh wireless communication network positioning system 400 shown in FIG. 4 and may be executed by one or more than one computer apparatus 800 and I or computer system 900 shown in FIGS. 8 and 9. With reference now primarily to FIG.10 in combination with FIG. 4, according to the method 1000, the mesh network positioning engine 422 of the mesh network backend 408 receives 1002 noisy location data through the gateway 404 and the mesh network server 420 from a plurality of location tracking tag devices 412a-412f at predetermined time intervals. At least one of the plurality of the location tracking tag devices 412a-412f is positioned on an asset 414a-414f. The plurality of location tracking tag devices 412a-412f form part of the decentralized mesh wireless communication network 402. Each of the plurality of location tracking tag devices 412a-412f periodically receives location reference information from a location reference device such as an anchor device 416a-416f. The mesh network positioning engine 422 records 1004 the noisy location data received from the plurality of location tracking tag devices 412a-412f with a time stamp and generates 1006 a clean dataset from the noisy location data received from the plurality of location tracking tag devices 412a-412f at each recorded time stamp. The mesh network positioning engine 422 computes 1008 a position of the asset 414a-414f based on the clean dataset.

[0123] In one aspect of the method 1000, the mesh network positioning engine 422 determines, a plurality of coordinates of the asset 414a-414f at a recorded time stamp based on the noisy location data.

[0124] In one aspect of the method 1000, the mesh network positioning engine 422 averages the plurality of coordinates of the asset 414a-414f determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset 414a-414f at each of the recorded time stamps.

[0125] In one aspect of the method 1000, the mesh network positioning engine 422 removes coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset 414a-414f at each of the recorded time stamps.

[0126] In one aspect of the method 1000, the mesh network positioning engine 422 removes duplicate coordinates for the asset 414a-414f at any of the recorded time stamps.

[0127] In one aspect of the method 1000, the time intervals are random time intervals and according to the method 1000, the mesh network positioning engine 422 interpolates the noisy location data recorded at the random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset 414a-414f within the periodic time intervals.

[0128] In one aspect of the method 1000, the mesh network positioning engine 422 translates the position of the asset 414a-414f based on the clean dataset to infer the coordinates of the asset 414a-4a4f.

[0129] In one aspect of the method 1000, the mesh network positioning engine 422 determines the plurality of coordinates of the asset 414a-414f at the recorded time stamp based on the noisy location data comprises determining latitude and longitude coordinates of the asset 414a-414f.

[0130] In one aspect of the method 1000, the mesh network positioning engine 422 extracts the noisy location data in real time, transforms the noisy location data, and pre- processes the noisy location data.

[0131] In one aspect of the method 1000, the mesh network positioning engine 422 deduces and calculates a number of active hours per day of the asset 414a-414f through an optimization model.

[0132] In one aspect of the method 1000, the mesh network positioning engine 422 performs a hyper-parameter thresholds tuning analysis.

[0133] In one aspect of the method 1000, the mesh network positioning engine 422 determines utilization metrics for assets 414a-414f based on a simulation.

[0134] In one aspect of the method 1000, the mesh network positioning engine 422 represents various asset 414a-414f utilizations metrics based on the type of asset 414a- 414f selected.

[0135] In one aspect of the method 1000, the mesh network positioning engine 422 determines assets 414a-414f that are idle, overutilized, or underutilized.

[0136] In one aspect of the method 1000, the mesh network positioning engine 422 determines maintenance requirements based on utilization of an asset 414a-414f within a warehouse.

[0137] In one aspect of the method 1000, the mesh network positioning engine 422 sends alerts for assets that are idle, overutilized, or underutilized.

[0138] Examples of the devices, systems, and methods disclosed herein, according to various aspects of the present disclosure, are provided below in the following embodiments. An aspect of the devices, systems, and methods may include any one or more than one, and any combination of, the embodiments described below.

[0139] In a first embodiment, the present disclosure provides a method for tracking an asset in a decentralized mesh wireless communication network. The method includesreceiving, by a positioning engine, noisy location data from a plurality of location tracking tags at time intervals, wherein at least one of the plurality of the location tracking tags is positioned on an asset, wherein the plurality of location tracking tags form part of the decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tags periodically receives location reference information from a location reference device; recording, by the positioning engine, the noisy location data received from the plurality of location tracking tags with a time stamp; generating, by the positioning engine, a clean dataset from the noisy location data received from the plurality of location tracking tags at each recorded time stamp; and computing, by the positioning engine, a position of the asset based on the clean dataset.

[0140] Additionally, the first embodiment includes determining, by the positioning engine, a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data, averaging, by the positioning engine, the plurality of coordinates of the asset determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset at each of the recorded time stamps, or removing, by the positioning engine, coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset at each of the recorded time stamps, or any combination thereof.

[0141] Alternatively, the first embodiment includes removing, by the positioning engine, duplicate coordinates for the asset at any of the recorded time stamps, wherein the time intervals are random time intervals, interpolating, by the positioning engine, the noisy location data recorded at the random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset within the periodic time intervals, translating, by the positioning engine, the position of the asset based on the clean dataset to infer the coordinates of the asset, or determining, by the positioning engine, the plurality of coordinates of the asset at the recorded time stamp based on the noisy location data comprises determining latitude and longitude coordinates of the asset, or any combinations thereof.

[0142] Alternatively, the first embodiment includes extracting the noisy location data in real time, transforming the noisy location data, and pre-processing the noisy location data, deducing and calculating a number of active hours per day of the asset through an optimization model, performing a hyper-parameter thresholds tuning analysis,determining utilization metrics for assets based on a simulation, representing various asset utilization metrics based on location selection and asset type selection, identifying assets that are idle, overutilized, or underutilized, determining maintenance requirements based on utilization of an asset within a warehouse, or sending alerts for assets that are idle, overutilized, or underutilized, or any combination thereof.

[0143] In a second embodiment, the present disclosure provides a system for tracking an asset in a decentralized mesh wireless communication network. The system includes a positioning engine configured to communicate with the decentralized mesh wireless communication network; and a server coupled to the positioning engine and configured to receive real time data from the positioning engine with respect to changes in position of at least one of a plurality of location tracking tag devices affixed to an asset, wherein the positioning engine is configured to: receive noisy location data from a plurality of location tracking tag devices, with at least one location tracking tag positioned on an asset, wherein the plurality of location tracking tag devices form part of the decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; process the received noisy location data to generate a refined dataset by filtering out inconsistencies in the noisy location data; utilize the refined dataset to compute a position of the asset; determine coordinates of the asset based on the position of the asset; and transmit the position of the asset based on the refined dataset to the server.

[0144] Additionally, the second embodiment includes, wherein the positioning engine is configured to determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data, wherein the positioning engine is configured to average the plurality of coordinates of the asset determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset at each of the recorded time stamps, or wherein the positioning engine is configured to remove coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset at each of the recorded time stamps, or any combination thereof.

[0145] Alternatively, the second embodiment includes, wherein the positioning engine is configured to remove duplicate coordinates for the asset at any of the recordedtime stamps, wherein the positioning engine is configured to interpolate the noisy location data recorded at random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset within the periodic time intervals, wherein the positioning engine is configured to translate the position of the asset based on the refined dataset to infer the coordinates of the asset, or wherein the positioning engine is configured to determine the plurality of coordinates of the asset at the recorded time stamp based on the noisy location data comprises determining latitude and longitude coordinates of the asset, or any combination thereof.

[0146] In a third embodiment, the present disclosure includes a computer program product including at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to: receive noisy location data from a plurality of location tracking tag devices, with at least one location tracking tag positioned on an asset, wherein the plurality of location tracking tag devices form part of a decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; process the received noisy location data to generate a refined dataset by filtering out inconsistencies in the noisy location data; utilize the refined dataset to compute a position of the asset; and determine coordinates of the asset based on the position of the asset.

[0147] Alternatively, the third embodiment includes, wherein the one or more instructions, when executed by at least one processor, cause the at least one processor to: determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data; average the plurality of coordinates of the asset determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset at each of the recorded time stamps; and remove coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset at each of the recorded time stamps, determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data; remove duplicate coordinates for the asset at any of the recorded time stamps; and interpolate the noisy location data recorded at random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset within the periodic time intervals, or determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy locationdata; and translate the position of the asset based on the refined dataset to infer the coordinates of the asset, or any combination thereof.

[0148] The foregoing detailed description has set forth various forms of the systems and / or processes via the use of block diagrams, flowcharts, and / or examples. Insofar as such block diagrams, flowcharts, and / or examples contain one or more functions and / or operations, it will be understood by those within the art that each function and / or operation within such block diagrams, flowcharts, and / or examples can be implemented, individually and / or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. Those skilled in the art will recognize that some aspects of the forms disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and / or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as one or more program products in a variety of forms, and that an illustrative form of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution.

[0149] Instructions used to program logic to perform various disclosed aspects can be stored within a memory in the system, such as dynamic random access memory (DRAM), cache, flash memory, or other storage. Furthermore, the instructions can be distributed via a network or by way of other computer-readable media. Thus a machine- readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), but is not limited to, floppy diskettes, optical disks, compact disc, read-only memory (CD-ROMs), and magneto-optical disks, read-only memory (ROMs), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards, flash memory, or a tangible, machine-readable storage used in the transmission of information over the Internet via electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals,digital signals, etc.). Accordingly, the non-transitory computer-readable medium includes any type of tangible machine-readable medium suitable for storing or transmitting electronic instructions or information in a form readable by a machine (e.g., a computer).

[0150] Any of the software components or functions described in this application, may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Python, Java, C++ or Perl using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions, or commands on a computer-readable medium, such as RAM, ROM, a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a CD-ROM. Any such computer-readable medium may reside on or within a single computational apparatus and may be present on or within different computational apparatuses within a system or network.

[0151] As used in any aspect herein, the term “logic” may refer to an app, software, firmware and / or circuitry configured to perform any of the aforementioned operations. Software may be embodied as a software package, code, instructions, instruction sets and / or data recorded on non-transitory computer-readable storage medium. Firmware may be embodied as code, instructions or instruction sets and / or data that are hard- coded (e.g., nonvolatile) in memory devices.

[0152] As used in any aspect herein, the terms “component,” “system,” “module” and the like can refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution.

[0153] As used in any aspect herein, an “algorithm” refers to a self-consistent sequence of steps leading to a desired result, where a “step” refers to a manipulation of physical quantities and / or logic states which may, though need not necessarily, take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is common usage to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. These and similar terms may be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities and / or states.

[0154] A network may include a packet switched network. The communication devices may be capable of communicating with each other using a selected packet switched network communications protocol. One example communications protocol may include an Ethernet communications protocol which may be capable of permittingcommunication using a Transmission Control Protocol / lnternet Protocol (TCP / IP). The Ethernet protocol may comply or be compatible with the Ethernet standard published by the Institute of Electrical and Electronics Engineers (IEEE) titled “IEEE 802.3 Standard”, published in December 2008 and / or later versions of this standard. Alternatively, or additionally, the communication devices may be capable of communicating with each other using an X.25 communications protocol. The X.25 communications protocol may comply or be compatible with a standard promulgated by the International Telecommunication Union-Telecommunication Standardization Sector (ITU-T). Alternatively, or additionally, the communication devices may be capable of communicating with each other using a frame relay communications protocol. The frame relay communications protocol may comply or be compatible with a standard promulgated by Consultative Committee for International Telegraph and Telephone (CCITT) and / or the American National Standards Institute (ANSI). Alternatively, or additionally, the transceivers may be capable of communicating with each other using an Asynchronous Transfer Mode (ATM) communications protocol. The ATM communications protocol may comply or be compatible with an ATM standard published by the ATM Forum titled “ATM-MPLS Network Interworking 2.0” published August 2001 , and / or later versions of this standard. Of course, different and / or after-developed connection-oriented network communication protocols are equally contemplated herein.

[0155] Unless specifically stated otherwise as apparent from the foregoing disclosure, it is appreciated that, throughout the present disclosure, discussions using terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

[0156] One or more components may be referred to herein as “configured to," “configurable to,” “operable / operative to,” “adapted / adaptable,” “able to,” “conformable / conformed to,” etc. Those skilled in the art will recognize that “configured to” can generally encompass active-state components and / or inactive-state components and / or standby-state components, unless context requires otherwise.

[0157] Those skilled in the art will recognize that, in general, terms used herein, andespecially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including" should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to claims containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and / or “an” should typically be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations.

[0158] In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations," without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). It will be further understood by those within the art that typically a disjunctive word and / or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilitiesof including one of the terms, either of the terms, or both terms unless context dictates otherwise. For example, the phrase “A or B” will be typically understood to include the possibilities of “A” or “B” or “A and B.”

[0159] With respect to the appended claims, those skilled in the art will appreciate that recited operations therein may generally be performed in any order. Also, although various operational flow diagrams are presented in a sequence(s), it should be understood that the various operations may be performed in other orders than those which are illustrated, or may be performed concurrently. Examples of such alternate orderings may include overlapping, interleaved, interrupted, reordered, incremental, preparatory, supplemental, simultaneous, reverse, or other variant orderings, unless context dictates otherwise. Furthermore, terms like “responsive to,” “related to,” or other past-tense adjectives are generally not intended to exclude such variants, unless context dictates otherwise.

[0160] It is worthy to note that any reference to “one aspect,” “an aspect,” “an exemplification,” “one exemplification,” and the like means that a particular feature, structure, or characteristic described in connection with the aspect is included in at least one aspect. Thus, appearances of the phrases “in one aspect,” “in an aspect,” “in an exemplification,” and “in one exemplification” in various places throughout the specification are not necessarily all referring to the same aspect. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more aspects.

[0161] As used herein, the singular form of “a”, “an”, and “the” include the plural references unless the context clearly dictates otherwise.

[0162] Any patent application, patent, non-patent publication, or other disclosure material referred to in this specification and / or listed in any Application Data Sheet is incorporated by reference herein, to the extent that the incorporated materials is not inconsistent herewith. As such, and to the extent necessary, the disclosure as explicitly set forth herein supersedes any conflicting material incorporated herein by reference. Any material, or portion thereof, that is said to be incorporated by reference herein, but which conflicts with existing definitions, statements, or other disclosure material set forth herein will only be incorporated to the extent that no conflict arises between that incorporated material and the existing disclosure material. None is admitted to be prior art.

[0163] In summary, numerous benefits have been described which result from employing the concepts described herein. The foregoing description of the one or more forms has been presented for purposes of illustration and description. It is not intended to be exhaustive or limiting to the precise form disclosed. Modifications or variations are possible in light of the above teachings. The one or more forms were chosen and described in order to illustrate principles and practical application to thereby enable one of ordinary skill in the art to utilize the various forms and with various modifications as are suited to the particular use contemplated. It is intended that the claims submitted herewith define the overall scope.

Claims

CLAIMSWhat is claimed is:1 . A method for tracking an asset in a decentralized mesh wireless communication network, the method comprising: receiving, by a positioning engine, noisy location data from a plurality of location tracking tag devices at time intervals, wherein at least one of the plurality of the location tracking tag devices is positioned on an asset, wherein the plurality of location tracking tag devices form part of the decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; recording, by the positioning engine, the noisy location data received from the plurality of location tracking tag devices with a time stamp; generating, by the positioning engine, a clean dataset from the noisy location data received from the plurality of location tracking tag devices at each recorded time stamp; and computing, by the positioning engine, a position of the asset based on the clean dataset.

2. The method of claim 1 , comprising determining, by the positioning engine, a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data.

3. The method of claim 2, comprising averaging, by the positioning engine, the plurality of coordinates of the asset determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset at each of the recorded time stamps.

4. The method of claim 3, comprising removing, by the positioning engine, coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset at each of the recorded time stamps.

5. The method of claim 2, comprising removing, by the positioning engine, duplicate coordinates for the asset at any of the recorded time stamps.

6. The method of claim 2, wherein the time intervals are random time intervals, the method comprising interpolating, by the positioning engine, the noisy locationdata recorded at the random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset within the periodic time intervals.

7. The method of claim 2, comprising translating, by the positioning engine, the position of the asset based on the clean dataset to infer the coordinates of the asset.

8. The method of claim 2, wherein the determining, by the positioning engine, the plurality of coordinates of the asset at the recorded time stamp based on the noisy location data comprises determining latitude and longitude coordinates of the asset.

9. The method of claim 1 , comprising extracting the noisy location data in real time, transforming the noisy location data, and pre-processing the noisy location data.

10. The method of claim 1 , comprising deducing and calculating a number of active hours per day of the asset through an optimization model.11 . The method of claim 1 , comprising performing a hyper-parameter thresholds tuning analysis.

12. The method of claim 1 , comprising determining utilization metrics for assets based on a simulation.

13. The method of claim 1 , comprising representing various asset utilization metrics based on location selection and asset type selection.

14. The method of claim 1 , comprising identifying assets that are idle, overutilized, or underutilized.

15. The method of claim 1 , comprising determining maintenance requirements based on utilization of an asset within a warehouse.

16. The method of claim 1 , comprising sending alerts for assets that are idle, overutilized, or underutilized.

17. A system for tracking an asset in a decentralized mesh wireless communication network, the system comprising: a positioning engine configured to communicate with the decentralized mesh wireless communication network; and a server coupled to the positioning engine and configured to receive real time data from the positioning engine with respect to changes in position of at least one of a plurality of location tracking tag devices affixed to an asset, whereinthe positioning engine is configured to: receive noisy location data from a plurality of location tracking tag devices, with at least one location tracking tag positioned on an asset, wherein the plurality of location tracking tag devices form part of the decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; process the received noisy location data to generate a refined dataset by filtering out inconsistencies in the noisy location data; utilize the refined dataset to compute a position of the asset; determine coordinates of the asset based on the position of the asset; and transmit the position of the asset based on the refined dataset to the server.

18. The system of claim 17, wherein the positioning engine is configured to determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data.

19. The system of claim 18, wherein the positioning engine is configured to average the plurality of coordinates of the asset determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset at each of the recorded time stamps.

20. The system of claim 19, wherein the positioning engine is configured to remove coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset at each of the recorded time stamps. 21 . The system of claim 18, wherein the positioning engine is configured to remove duplicate coordinates for the asset at any of the recorded time stamps.

22. The system of claim 18, wherein the positioning engine is configured to interpolate the noisy location data recorded at random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset within the periodic time intervals.

23. The system of claim 18, wherein the positioning engine is configured to translate the position of the asset based on the refined dataset to infer the coordinates of the asset.

24. The system of claim 18, wherein the positioning engine is configured to determine the plurality of coordinates of the asset at the recorded time stamp based on the noisy location data comprises determining latitude and longitude coordinates of the asset.

25. A computer program product comprising at least one non-transitory computer- readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to: receive noisy location data from a plurality of location tracking tag devices, with at least one location tracking tag positioned on an asset, wherein the plurality of location tracking tag devices form part of a decentralized mesh wireless communication network, and wherein each of the plurality of location tracking tag devices periodically receives location reference information from a location reference device; process the received noisy location data to generate a refined dataset by filtering out inconsistencies in the noisy location data; utilize the refined dataset to compute a position of the asset; and determine coordinates of the asset based on the position of the asset.

26. The computer program product of claim 25, wherein the one or more instructions, when executed by at least one processor, cause the at least one processor to: determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data; average the plurality of coordinates of the asset determined from the noisy location data at each of the recorded time stamps to generate an average value of coordinates for the asset at each of the recorded time stamps; and remove coordinates from the plurality of coordinates determined from the noisy location data that lie outside a predetermined value from the average value of coordinates for the asset at each of the recorded time stamps.

27. The computer program product of claim 25, wherein the one or more instructions, when executed by at least one processor, cause the at least one processor to: determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data; remove duplicate coordinates for the asset at any of the recorded time stamps; andinterpolate the noisy location data recorded at random time intervals into noisy location data at periodic time intervals by averaging the plurality of coordinates of the asset within the periodic time intervals.

28. The computer program product of claim 25, wherein the one or more instructions, when executed by at least one processor, cause the at least one processor to: determine a plurality of coordinates of the asset at a recorded time stamp based on the noisy location data; and translate the position of the asset based on the refined dataset to infer the coordinates of the asset.

Citation Information

Patent Citations

  • System and method for managing operations and assets in a multi-entity environment

    US20220258748A1

  • Wireless anchors for asset tracking

    US20230394257A1

  • Wireless mesh network for an asset tracking system

    US8026814B1