A method for enabling a network operator to identify at least one user suitable for a dedicated tank monitoring service
Smartphones with asset monitoring apps collect and transfer sensor data from telemetry units, addressing inefficiencies in conventional systems for smaller tanks, improving scalability and reducing costs by optimizing resource allocation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2026-05-28
AI Technical Summary
Conventional asset monitoring systems become inefficient and costly when applied to smaller tanks or cylinders, limiting their scalability across all reservoir sizes due to increased resource allocation and computing power requirements.
Utilizing smartphones with installed asset monitoring applications to crowdsource sensor data collection from telemetry units, allowing seamless data transfer and processing to optimize asset monitoring services.
Improves the efficiency and reduces computing power and energy consumption by leveraging a network of smartphones to relay sensor data to servers, enhancing the scalability and cost-effectiveness of asset monitoring services.
Smart Images

Figure IB2025054202_28052026_PF_FP_ABST
Abstract
Description
[0001] METHOD OF AND SYSTEM FOR ENABLING AN OPERATOR TO IDENTIFY
[0002] A DEVICE SUITABLE FORAN ASSET MONITORING SERVICE
[0003] CROSS-REFERENCE TO RELATED APPLICATIONS
[0004] This application claims priority on US Provisional Patent Application No. 63 / 723,474, entitled “A METHOD FOR ENABLING A NETWORK OPERATOR TO IDENTIFY AT LEAST ONE USER SUITABLE FOR A DEDICATED TANK MONITORING SERVICE”, filed on November 21, 2024.
[0005] FIELD
[0006] The present technology relates to asset monitoring services in general and more specifically to methods, systems and non-transitory storage mediums for enabling an operator to identify a device suitable for an asset monitoring service.
[0007] BACKGROUND
[0008] Conventional asset monitoring services monitor the status of specific assets (e.g., tanks) and their needs for fulfillment using systems that include computers that attempt to optimize delivery of supplies (e.g., fuel).
[0009] Conventional tank monitor (TM) systems monitor fuel levels in storage tanks. TMs allow a distributor to optimize deliveries by transporting larger volumes of fuel in a single trip, which increases efficient allocation of resources by spreading fixed delivery costs over more fuel. Additionally, customers benefit from never running out of fuel.
[0010] However, when applied to smaller tanks / cylinders, the same system presents challenges. While the operational advantages remain (avoiding stockouts and improving delivery efficiency), the resource allocation of the conventional system becomes less efficient in comparison to that from these smaller tanks / cylinders. As a result, the conventional system is less useful for small fuel tanks, limiting its scalability across all reservoir sizes.
[0011] There exists a need for an improved system and / or system that overcomes the deficiencies described above. SUMMARY
[0012] It is an object of the present technology to ameliorate at least some of the inconveniences present in the prior art. One or more implementations of the present technology may provide and / or broaden the scope of approaches to and / or methods of achieving the aims and objects of the present technology.
[0013] Developers of the present technology have appreciated that there exists unused computing devices and / or bandwidth that can make asset monitoring services more efficient.
[0014] One of the technical problems addressed by the embodiments of the present technology is that asset monitoring services become inefficient and potentially costly (e.g., from a computing power standpoint) when operating outside of a usual zone (e.g., larger assets such that a smaller number of trips are needed for fulfillment).
[0015] One or more implementations of the present technology have been developed based on developers’ appreciation that smartphones can act as monitoring devices to crowdsource the role of communicating the status of assets to the servers of asset monitoring services.
[0016] More specifically, developers have appreciated that a pool of smartphones can move in and out of range of telemetry units for an asset to obtain sensor data at a high enough frequency that the smartphones can relay the sensor data to a server for the asset monitoring service that will then process the sensor data to trigger fulfillment of the asset when needed.
[0017] The present technology enables improving the efficiency of the asset monitoring service by reducing the use of computing power (e.g., processing time, energy needed for transmitting sensor data) needed to ensure fulfillment of the asset. The efficiency of the asset monitoring service may further be improved by making it seamless due to the automatic transfer of data. Thus, one or more implementations of the present technology are directed to a method of and a system for enabling an operator to identify at least one user device suitable for an asset monitoring service.
[0018] According to one aspect of the present technology, there is provided a system for enabling an operator to identify at least one user device suitable for an asset monitoring service that comprises a telemetry unit, at least one user device, and a server. The telemetry unit comprises a wireless transceiver configured to receive sensor data from a first asset and make the telemetry unit detectable by a plurality of mobile devices that have installed thereon an asset monitoring application that is capable of communicating with the wireless transceiver. The at least one user device from the plurality of mobile devices uses the asset monitoring application to detect the telemetry unit when the at least one user device is within range such that the at least one user device communicates with the wireless transceiver. The server, which is in communication with the plurality of mobile devices, is configured to: receive data from the asset monitoring application, thereby establishing a suitability of the at least one user device for the asset monitoring service at least with respect to the first asset. The server is also configured to process the data pursuant to the suitability in order to communicate the sensor data or secondary data derived therefrom to the external device or to another user device.
[0019] According to another aspect of the present technology, there is provided a method for enabling an operator to identify at least one user device suitable for an asset monitoring service, the method comprising: configuring a telemetry unit comprising a wireless transceiver so that the wireless transceiver is capable of receiving sensor data from a first asset; registering a plurality of mobile devices as having installed thereon an asset monitoring application that is capable of communicating with the wireless transceiver; making the telemetry unit detectable by the plurality of mobile devices; detecting, by at least one user device from the plurality of mobile devices using the asset monitoring application, the telemetry unit when the at least one user device is within range such that the at least one user device communicates with the wireless transceiver; receiving, by a server in communication with the plurality of mobile devices, data from the asset monitoring application, thereby establishing a suitability of the at least one user device for the asset monitoring service at least with respect to the first asset; processing, by the server, the data pursuant to the suitability in order to communicate the sensor data or secondary data derived therefrom to the external device or to another user device.
[0020] According to another aspect of the present technology, there is provided a method for enabling an operator to identify an asset suitable for a dedicated asset monitoring service, the method comprising: receiving, by a server in communication with a plurality of mobile devices having stored thereon an asset monitoring application, one or more notifications that one or more of the plurality of mobile devices detected a telemetry unit, the telemetry unit being configured to receive sensor data from the asset, when the one or more of the plurality of mobile devices came within range of the telemetry unit such that the one or more of the plurality of mobile devices communicated with a wireless transceiver of the telemetry unit; receiving, by the server, data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the asset; and determining, by the server, based at least in part on the data, that one or more criteria for a service level for the asset is not met, the criteria comprising at least one of: (i) a frequency of communication between the plurality of mobile devices and the telemetry unit is outside a first predetermined range with regards to a change in the asset; or (ii) a status of the asset is predicted to fall outside a second predetermined range during an absence of monitoring of the asset by the mobile devices, thereby establishing a suitability of the asset for the dedicated asset monitoring service.
[0021] According to another aspect of the present technology, there is provided a method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets comprising a first asset associated with a geographical area, the method comprising: receiving, by a server in communication with a plurality of mobile devices having stored thereon an asset monitoring application, one or more notifications that one or more of the plurality of mobile devices detected a telemetry unit associated with the first asset, the telemetry unit being configured to receive sensor data from the first asset, when the one or more of the plurality of mobile devices came within range of the telemetry unit and received via the asset monitoring application the sensor data from the telemetry unit; receiving, by the server, data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the first asset; receiving, by the server, at least one of: (i) location data of at least one of the telemetry unit or the first asset; or (ii) a notification that at least one of the telemetry unit or the first asset was determined to be outside the geographical area, the notification being sent by one of the plurality of mobile devices or the telemetry unit, whichever determined that at least one of the telemetry unit or the first asset was outside the geographical area; when the server receives the location data, determining, by the server, that at least one of the telemetry unit or the first asset is outside the geographical area; when at least one of the telemetry unit or the first asset is determined to be outside the geographical area, removing, by the server, the first asset from the plurality of assets monitored by the asset monitoring service so that the plurality of mobile devices stop receiving via the asset monitoring application any subsequent data from the telemetry unit.
[0022] According to another aspect of the present technology, there is provided a method of managing resources of a telemetry unit in an asset monitoring service, the telemetry unit configured to receive sensor data from a first asset monitored by the asset monitoring service, the asset monitoring service comprising an asset monitoring application that is installed on a plurality of mobile devices to make the mobile devices capable of communicating with the telemetry unit, the method comprising: reading, by the telemetry unit, the sensor data from the first asset; advertising, by the telemetry unit, a message, the message comprising at least one of (i) the sensor data or (ii) an identifier that allows the plurality of mobile devices to detect a presence of the telemetry unit and that the telemetry unit is connectable; sending, by the telemetry unit, the sensor data to one of the plurality of mobile devices; determining, by the telemetry unit, an action to manage the resources of the telemetry unit, the action comprising at least one of stopping advertising of the message during a specified time period; limiting connection to the one of the plurality of mobile devices, thereby preventing connection to the telemetry unit by any other of the plurality of mobile devices; severing the connection to the one of the plurality of mobile devices after the sensor data is sent to the one of the plurality of mobile devices; adjusting a rate of the advertising of the message based on at least one of (i) a count of the plurality of mobile devices that read the sensor data, (ii) how recent the sensor data was read, or (iii) a change in the sensor data exceeding a threshold; and executing, by the telemetry unit, the action. According to another aspect of the present technology, there is provided a method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets comprising a first asset associated with a first telemetry unit having a first advertising identifier, the first telemetry unit being configured to receive sensor data from the first asset, the method comprising: sending, by the first telemetry unit, the sensor data to one or more of a plurality of mobile devices having stored thereon an asset monitoring application, when the one or more of the plurality of mobile devices comes within range of the first telemetry unit; receiving, by the first telemetry unit, a notification that a second asset associated with a second telemetry unit is being added to the plurality of assets monitored by the asset monitoring service, the notification also indicating whether the second asset is replacing the first asset; when the second asset is replacing the first asset: transferring, by the first telemetry unit, the first advertising identifier to the second telemetry unit so that the plurality of mobile devices interpret via the asset monitoring application any subsequent data from the second telemetry unit as being subsequent data from the first telemetry unit; and when the second asset is not replacing the first asset: cloning, by the first telemetry unit, the first advertising identifier for the second telemetry unit so that the plurality of mobile devices automatically connect via the asset monitoring application to the second telemetry unit; and storing, by the first telemetry unit, an additional separate varying identifier for the second telemetry unit recognized by the asset monitoring application to allow the plurality of mobile devices to distinguish between the first telemetry unit and the second telemetry unit while maintaining connectivity to either the first telemetry unit or the second telemetry unit using the single advertising identifier.
[0023] According to another aspect of the present technology, there is provided a method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets being associated with corresponding telemetry units, each of the corresponding telemetry units being configured to receive sensor data from a corresponding asset from the plurality of assets, the method comprising: assigning, by a server in communication with a plurality of mobile devices having stored thereon an asset monitoring application, a single advertising identifier to each of the telemetry units so that each of the plurality of mobile devices requires a single connection confirmation for any one of the telemetry units to connect to all of the telemetry units; storing, by the server, additional separate varying identifiers for each of the telemetry units recognized by the asset monitoring application to allow the plurality of mobile devices to distinguish between individual assets from the plurality of assets while maintaining connectivity to any of the telemetry units using the single advertising identifier; receiving, by the server, one or more notifications that one or more of the plurality of mobile devices detected one of the telemetry units, when the one or more of the plurality of mobile devices came within range of the one of the telemetry units and received via the asset monitoring application the sensor data from the one of the telemetry units and a corresponding identifier from the additional separate varying identifiers that identify which asset the sensor data is associated with; receiving, by the server, data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the one of the telemetry units; processing, by the server, the data and which asset the sensor data was associated with in order to communicate the sensor data or secondary data derived therefrom to an external device or to one of the plurality of mobile devices.
[0024] According to another aspect of the present technology, there is provided a method of managing resources of a telemetry unit in an asset monitoring service, the telemetry unit configured to receive sensor data from a first asset monitored by the asset monitoring service, the telemetry unit further configured to send the sensor data by at least one of a first channel or a second channel, the second channel being a lower energy channel than the first channel, the asset monitoring service comprising a server and an asset monitoring application that is installed on a plurality of mobile devices to make the mobile devices capable of communicating with the telemetry unit, the method comprising: initializing, on the telemetry unit, a connection status variable with a first value indicating that the telemetry unit is not connected to any of the plurality of mobile devices over the second channel; while the connection status variable has the first value: reading, by the telemetry unit, the sensor data from the first asset; sending, by the telemetry unit over the first channel, the sensor data to the server; advertising, by the telemetry unit over the second channel, a message, the message comprising at least one of (i) the sensor data or (ii) an identifier that allows the plurality of mobile devices to detect a presence of the telemetry unit and that the telemetry unit is connectable; when one of the plurality of mobile devices detects the presence of the telemetry unit, changing the connection status variable to a second value indicating that the telemetry unit is connected to at least one of the plurality of mobile devices over the second channel; sending, by the telemetry unit over the second channel, the sensor data to one of the plurality of mobile devices; suspending all sending of data by the telemetry unit over the first channel for a suspension period; after expiration of the suspension period, reinitializing, on the telemetry unit, the connection status variable with the first value indicating that the telemetry unit is not connected to any of the plurality of mobile devices over the second channel.
[0025] Terms and Definitions
[0026] In the context of the present specification, a “server” is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g., from computing devices) over a network (e.g., a communication network), and carrying out those requests, or causing those requests to be carried out. The hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology. In the present context, the use of the expression a “server” is not intended to mean that every task (e.g., received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e., the same software and / or hardware); it is intended to mean that any number of software elements or hardware devices may be involved in receiving / sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request; and all of this software and hardware may be one server or multiple servers, both of which are included within the expressions “at least one server” and “a server”.
[0027] In the context of the present specification, “computing device” is any computing apparatus or computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of computing devices include general purpose personal computers (desktops, laptops, netbooks, etc.), mobile computing devices, smartphones, and tablets, and network equipment such as routers, switches, and gateways. It should be noted that a computing device in the present context is not precluded from acting as a server to other computing devices. The use of the expression “a computing device” does not preclude multiple computing devices being used in receiving / sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein. In the context of the present specification, a “client device” refers to any of a range of end-user client computing devices, associated with a user, such as personal computers, tablets, smartphones, and the like.
[0028] In the context of the present specification, the expression “computer-readable storage medium” (also referred to as “storage medium” and “storage”) is intended to include non-transitory media of any nature and kind whatsoever, including without limitation RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drives, etc.), USB keys, solid state drives, tape drives, etc. A plurality of components may be combined to form the computer information storage media, including two or more media components of a same type and / or two or more media components of different types.
[0029] In the context of the present specification, a “database” is any structured collection of data, irrespective of its particular structure, the database management software, or the computer hardware on which the data is stored, implemented or otherwise rendered available for use. A database may reside on the same hardware as the process that stores or makes use of the information stored in the database or it may reside on separate hardware, such as a dedicated server or plurality of servers.
[0030] In the context of the present specification, the expression “information” includes information of any nature or kind whatsoever capable of being stored in a database. Thus, information includes, but is not limited to, audiovisual works (images, movies, sound records, presentations etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, lists of words, etc.
[0031] In the context of the present specification, unless expressly provided otherwise, an “indication” of an information element may be the information element itself or a pointer, reference, link, or other indirect mechanism enabling the recipient of the indication to locate a network, memory, database, or other computer-readable medium location from which the information element may be retrieved. For example, an indication of a document could include the document itself (i.e., its contents), or it could be a unique document descriptor identifying a file with respect to a particular file system, or some other means of directing the recipient of the indication to a network location, memory address, database table, or other location where the file may be accessed. As one skilled in the art would recognize, the degree of precision required in such an indication depends on the extent of any prior understanding about the interpretation to be given to information being exchanged as between the sender and the recipient of the indication. For example, if it is understood prior to a communication between a sender and a recipient that an indication of an information element will take the form of a database key for an entry in a particular table of a predetermined database containing the information element, then the sending of the database key is all that is required to effectively convey the information element to the recipient, even though the information element itself was not transmitted as between the sender and the recipient of the indication.
[0032] In the context of the present specification, the expression “communication network” is intended to include a telecommunications network such as a computer network, the Internet, a telephone network, a Telex network, a TCP / IP data network (e.g., a WAN network, a LAN network, etc.), and the like. The term “communication network” includes a wired network or direct wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media, as well as combinations of any of the above.
[0033] In the context of the present specification, the words “first”, “second”, “third”, etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms “server” and “third server” is not intended to imply any particular order, type, chronology, hierarchy, or ranking (for example) of / between the server, nor is their use (by itself) intended to imply that any “second server” must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a “first” element and a “second” element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a “first” server and a “second” server may be the same software and / or hardware; in other cases they may be different software and / or hardware.
[0034] Implementations of the present technology each have at least one of the above- mentioned object and / or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and / or may satisfy other objects not specifically recited herein.
[0035] Additional and / or alternative features, aspects, and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings, and the appended claims.
[0036] BRIEF DESCRIPTION OF THE DRAWINGS
[0037] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:
[0038] FIG. 1 depicts a schematic diagram of a computing device in accordance with one or more non-limiting implementations of the present technology.
[0039] FIG. 2 depicts a schematic diagram of a communication system in accordance with one or more non-limiting implementations of the present technology.
[0040] FIG. 3 depicts a schematic diagram of a data flow of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0041] FIG. 4 depicts a schematic diagram of an Internet of Things (loT) sensor architecture for an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0042] FIG. 5 depicts a schematic diagram of a communication protocol between a smartphone and a telemetry unit for an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0043] FIG. 6 depicts a schematic diagram of a communication protocol between various components of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0044] FIG. 7 depicts a schematic diagram of advertising packets for use in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology. FIG. 8 depicts a schematic diagram of a data exchange for a first scenario - background mode - of an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology.
[0045] FIG. 9 depicts a schematic diagram of a process flow for the first scenario of FIG. 8.
[0046] FIG. 10 depicts a schematic diagram of a data exchange for a second scenario - foreground mode - of an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology.
[0047] FIG. 11 depicts a schematic diagram of a process flow for the second scenario of FIG. 10.
[0048] FIG. 12 depicts a schematic diagram of a data exchange for a third scenario - long polling mode - of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0049] FIG. 13 depicts a schematic diagram of a process flow for the third scenario of FIG. 12.
[0050] FIG. 14 depicts a schematic diagram of a data exchange for a third scenario - keeping mobile app alive - of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0051] FIG. 15 depicts a schematic diagram of a process flow for the fourth scenario of FIG. 14.
[0052] FIG. 16 depicts a schematic diagram of a data exchange for a data flow for a mobile app in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0053] FIG. 17 depicts a schematic diagram of app management for the mobile app in
[0054] FIG. 16. FIG. 18 depicts a schematic diagram of an activity flow for new installs in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0055] FIG. 19 depicts a schematic diagram of an activity flow for an asset exchange in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0056] FIG. 20 depicts a flowchart of a method for enabling an operator to identify a user device suitable for an asset monitoring service in accordance with one or more nonlimiting implementations of the present technology.
[0057] FIG. 21 depicts a flowchart of a method for enabling an operator to identify an asset suitable for a dedicated asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0058] FIG. 22 depicts a flowchart of a method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0059] FIG. 23 depicts a flowchart of a method of managing resources of a telemetry unit in an asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0060] FIG. 24 depicts a flowchart of a method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, involving replacing / cloning a telemetry unit, in accordance with one or more non-limiting implementations of the present technology.
[0061] FIG. 25 depicts a flowchart of a method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, involving connecting telemetry units and mobile devices, in accordance with one or more non-limiting implementations of the present technology FIG. 26 depicts a flowchart of a method of managing resources of a telemetry unit in an asset monitoring service, involving channels using different amounts of energy, in accordance with one or more non-limiting implementations of the present technology.
[0062] DETAILED DESCRIPTION
[0063] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.
[0064] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.
[0065] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and / or that what is described is the sole manner of implementing that element of the present technology.
[0066] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0067] The functions of the various elements shown in the figures, including any functional block labeled as a “processor” or a “graphics processing unit”, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In one or more nonlimiting implementations of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a graphics processing unit (GPU). Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and / or custom, may also be included.
[0068] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and / or textual description. Such modules may be executed by hardware that is expressly or implicitly shown.
[0069] Example Technical Problem
[0070] A basic tank monitoring (TM) system monitors fuel levels in storage tanks. This provides benefits: it allows the distributor to optimize deliveries by transporting larger volumes of fuel in a single trip, which increases efficiency of resource allocation by spreading fixed delivery costs over more fuel. However, when applied to smaller tanks / cylinders, the same system presents challenges. While the operational advantages remain (avoiding stockouts and improving delivery efficiency), the cost becomes disproportionately high in comparison to the resource usage of these smaller tanks / cylinders. As a result, the solution is less efficient for small fuel tanks, limiting its scalability across all reservoir sizes.
[0071] Overview of an Example Technical Solution
[0072] An example technical solution is an application that enables a mobile phone (e.g., smartphone) to act as a monitoring device. Each mobile device that has the application running can capture Bluetooth advertisement of a Bluetooth tank reader device and report the data collected to a tank monitoring system server. This application may be a mobile app, in the usual sense that it is a program that is installed onto the mobile phone and run just like any other mobile app, such as a web browser or sound recorder. Alternatively, this application may be a process run by the operating system (OS) of the mobile phone. This application may be referred to as a “mobile app” in either case, whether a program installed on the mobile phone or a process run by the OS.
[0073] The application running on the user’s mobile phone runs in the background, constantly scanning the Bluetooth tank reader device. Once located, it connects to it, validates the device, and collects and logs the fuel level of the tank. This data is then sent to the tank monitoring service server. The cycle may be repeated at a constant interval. Alternatively, or in addition, the cycle may be variable, such as when the operating system (OS) manages the timing and may adjust depending on conditions like battery level, connectivity, etc. The interval, or the rate of the cycle repetition, may be sufficient enough for the application to interpolate and then extrapolate the readings.
[0074] The OS may contribute to BLE scanning. The BLE stack may be designed and implemented in a way that the mobile app does not actually have full control of it, and the actual “scanning”, passive or active, is managed and scheduled by the OS in accordance with the current phone battery charge, user preferences, etc. The mobile app may delegate this task to the OS, so that, for example, the mobile app will not be able to drain the phone battery. The server decodes the packets and matches the serial number with the one recorded in the server, then updates its level with the latest information. The specific tank level is now updated. The gas provider uses this data to plan a delivery of fuel, cylinder change over, or for analysis.
[0075] The application runs seamlessly on the mobile phone. It is completely automated and requires no intervention from the user. An unlimited number of mobile phones can download the application and collect data. The server receives all packets from mobile phones with the application installed.
[0076] The user can also use the application to consult the level of his tank(s) / cylinder(s). This assures a direct involvement of the user to the application while providing the user with useful information.
[0077] Features of the Example Technical Solution
[0078] The application provides monitoring services using the mobile phone instead of a tank monitoring service gateway.
[0079] The application downloaded by the consumer is simple to install by the consumer.
[0080] The requirements from the user will be to allow push notification, Bluetooth connectivity, and location services. Creating a user account for the app is not mandatory for background running of the application.
[0081] The application is running as a service and during its operation; it is transparent to the user.
[0082] The application running on the mobile phone can scan for Bluetooth advertisements from Bluetooth reader devices within connection range, recognize them as valid Bluetooth reader devices, and read and store each Bluetooth reader device ID and its current tank level.
[0083] The application sends to the server the data collected at a regular interval (or a varying interval) to update the server. The interval may be defined by the OS. For example, the OS may put a hold (or not even start) a data interchange if there is no Internet connection.
[0084] The portal uses the latest information received to display the level associated with each Bluetooth reader device ID for the gas distributor to use.
[0085] To promote the download and usage of the application, the user can see his reservoir level.
[0086] When a cylinder is switched to a new full one, so will the Bluetooth reader device ID; this is transparent to the end-user.
[0087] Objectives of the Example Technical Solution
[0088] One objective is to offer a solution that will enable the current technology but for smaller, domestic fuel reservoir usages.
[0089] Another objective is that the solution will be reliable enough to be an advantage for both gas suppliers and end-users.
[0090] Another objective is to provide the gas distributor with visibility on his customer’s tank level.
[0091] Another objective is to provide the end user with the ability to consult this tank level.
[0092] Another objective is that the solution is user-friendly for any type of mobile phone user.
[0093] Technical Considerations for the Example Technical Solution
[0094] One possible consideration is relying on the end user to have a mobile phone available to connect to the Bluetooth device and send the information.
[0095] Another possible consideration is relying on the end user to install the application and accept required permissions.
[0096] Another possible consideration is relying on the end user to keep the application installed and not revoke required permissions. Another possible consideration is relying on the end user to reinstall the application when a new mobile phone is acquired.
[0097] Another possible consideration is that, when the tank is replaced with a new one, the gas distributor updates the server with the new Bluetooth reader device ID under the customer account.
[0098] Another possible consideration is that the mobile phone is within the limiting range of the Bluetooth signal of the Bluetooth reader device.
[0099] Another possible consideration is that the mobile app may require Internet access at least periodically in order to send out accumulated readings.
[0100] Additional Features of the Example Technical Solution
[0101] The example technical solution may include one or more additional features, ranging from seamless tank exchange to a cylinder replacement, refill, and scan tool.
[0102] Seamless tank exchange: The user can consult his levels regardless of the Bluetooth reader device ID replacement (cylinder replacement). Once the application is set with an activation code, no other action is required (i.e., scanning new tanks QR code, input new activation codes, others).
[0103] Geofencing: When Bluetooth reader device data is captured, the mobile phone tags a localization associated to the ID. This is used to locate geographically the last location of the cylinder / tank.
[0104] Notification of a low tank level: The user gets a notification alert that his tank is running low.
[0105] Request for delivery: The user can order a delivery from his gas provider by pressing a button on the application, sending the gas provider a delivery request “Request a Fill”. Once the “Request to fill” button is pressed, the distributor gets an email with the client’s address and information, along with the request time and note attached. Troubleshooting tool in the application: The application should check for common issues such as Bluetooth being OFF, app notifications being disabled, or the phone not hearing nearby BT device advertisements.
[0106] Dedicated tank monitoring: The application tool can be substituted with a dedicated tank monitoring system when the services from mobile phone are unreliable. This may be transparent to the user whether the Bluetooth reader device is swapped with a cylinder replacement.
[0107] Cylinder replacement, refill, scan tool: The gas provider installer uses the Tech App to erase and save a new Bluetooth reader device ID in the server when a cylinder is replaced. Tech scans the old Bluetooth reader device and then scans the new ID. The server recognizes the old ID and automatically replaces it with the new ID. The old ID is now orphaned and not associated to any accounts. This can update the server’s tank / cylinder data when the refill or replacement is completed. This provides the newest information the user can get access to. In the case of cylinder replacement, when the new ID is scanned, so will the tank level. On on-site fillable tanks, the distributor scans the ID after the fill and the level is updated in the server.
[0108] Features of a Server in the Example Technical Solution
[0109] The server provides a static activation code allowing the application to remain linked to its tanks. This occurs whether the Bluetooth reader device has been swapped (e.g., cylinder replacement).
[0110] The server provides access to cylinder switch over reports. The gas provider has access to a report that provides information on Bluetooth reader devices that were swapped during a period and their current health status.
[0111] The server logs all the Bluetooth reader device ID (old to new) swaps when they are done with date and time of the swap. The log also contains the level and the health condition of the Bluetooth reader device IDs scanned and which Bluetooth reader devices are orphans. This can serve to retrace swapping activities. This can help with monitoring of the health condition of all devices to prevent field failure and remaining lifetime of the device. This can help locate which are orphaned cylinders and their current level state (cylinders and fuel inventory).
[0112] The server can detect miscommunication or when no data has been received to update the level condition. The server displays the timestamp of the latest data received from each Bluetooth reader device ID.
[0113] Although the technical problem and technical solution presented above is discussed with reference to a tank, it should be understood that they should apply equally to other assets, such as a refrigerator, a greenhouse, an HVAC system, a laboratory, a farm, a truck trailer, a warehouse, an office, etc.
[0114] With these fundamentals in place, some non-limiting examples will be considered to illustrate various implementations of aspects of the present technology.
[0115] Computing device
[0116] Referring to FIG. 1, there is shown a computing device 100 suitable for use with some implementations of the present technology, the computing device 100 comprising various hardware components including one or more single or multi-core processors collectively represented by processor 110, a graphics processing unit (GPU) 111, a solid- state drive 120, random-access memory 130, a display interface 140, and an input / output interface 150.
[0117] Communication between the various components of the computing device 100 may be enabled by one or more internal and / or external buses 160 (e.g., a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, etc.), to which the various hardware components are electronically coupled.
[0118] The input / output interface 150 may be coupled to a touchscreen 190 and / or to the one or more internal and / or external buses 160. The touchscreen 190 may be part of the display. In one or more implementations, the touchscreen 190 is the display. The touchscreen 190 may equally be referred to as a screen 190. In the implementations illustrated in FIG. 1, the touchscreen 190 comprises touch hardware 194 (e.g., pressuresensitive cells embedded in a layer of a display allowing detection of a physical interaction between a user and the display) and a touch input / output controller 192 allowing communication with the display interface 140 and / or the one or more internal and / or external buses 160. In one or more implementations, the input / output interface 150 may be connected to a keyboard (not shown), a mouse (not shown), or a trackpad (not shown) allowing the user to interact with the computing device 100 in addition or in replacement of the touchscreen 190.
[0119] According to implementations of the present technology, the solid-state drive 120 stores program instructions suitable for being loaded into the random-access memory 130 and executed by the processor 110 and / or the GPU 111 for a system for enabling an operator to identify at least one user device suitable for an asset monitoring service. For example, the program instructions may be part of a library or an application.
[0120] The computing device 100 may be implemented as a server, a desktop computer, a laptop computer, a tablet, a smartphone, a personal digital assistant, or any device that may be configured to implement the present technology, as it may be understood by a person skilled in the art.
[0121] Referring to FIG. 2, there is shown a schematic diagram of a system 200, the system 200 being suitable for implementing one or more non-limiting implementations of the present technology. It is to be expressly understood that the system 200 as shown is merely an illustrative implementation of the present technology. Thus, the description thereof that follows is intended to be only a description of illustrative examples of the present technology. This description is not intended to define the scope or set forth the bounds of the present technology. In some cases, what are believed to be helpful examples of modifications to the system 200 may also be set forth below. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and, as a person skilled in the art would understand, other modifications are likely possible. Further, where this has not been done (i.e., where no examples of modifications have been set forth), it should not be interpreted that no modifications are possible and / or that what is described is the sole manner of implementing that element of the present technology. As a person skilled in the art would understand, this is likely not the case. In addition, it is to be understood that the system 200 may provide in certain instances simple implementations of the present technology, and that where such is the case they have been presented in this manner as an aid to understanding. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.
[0122] In one or more implementations of the present technology, the system 200 is the asset monitoring system (or asset monitoring service). In one or more implementations of the present technology, the system 200 is part of the asset monitoring system (or asset monitoring service). In one or more implementations of the present technology, the asset monitoring system (or asset monitoring service) is part of the system 200.
[0123] The system 200 comprises inter alia a client device 210 associated with a user 205, a server 220, and a database 230 communicatively coupled over a communications network 240.
[0124] Client Device
[0125] The system 200 comprises a client device 210. The client device 210 is associated with the user 205. As such, the client device 210 can sometimes be referred to as a “computing device”, “end user device”, or “client computing device”. It should be noted that the fact that the client device 210 is associated with the user 205 does not need to suggest or imply any mode of operation — such as a need to log in, a need to be registered, or the like. The client device 210 may be one particular device from amongst a plurality of client devices within the system 200.
[0126] The client device 210 comprises one or more components of the computing device 100 such as one or more single or multi-core processors collectively represented by the processor 110, the graphics processing unit (GPU) 111, the solid-state drive 120, the random access memory 130, the display interface 140, and the input / output interface 150.
[0127] It will be appreciated that the client device 210 may be implemented as a server, a desktop computer, a laptop, a smartphone, and the like.
[0128] In one or more implementations, the client device 210 is configured to execute a browser application for the asset monitoring service. The purpose of the given browser application is to enable the user of the asset monitoring service to access one or more web resources. How the given browser application is implemented is not particularly limited. Non-limiting examples of the given browser application that is executable by the client device 210 include Google™ Chrome™, Mozilla™ Firefox™, Microsoft™ Edge™, and Apple™ Safari™.
[0129] In one or more implementations, the user 205 may be an operator of the asset management service. The user 205 may be an agent (e.g., an artificial intelligence agent) or a bot carrying out the role of the operator. The user 205 may be a person using a user device connected to the asset management service. The user 205 may be an external user device, such as one that is external to the asset management service.
[0130] Server
[0131] The server 220 is configured to inter alia, (i) communicate with a plurality of mobile devices, which includes the client device 210; (ii) receive data from an asset monitoring application, which may thereby establish a suitability of the client device 210 for the asset monitoring service at least with respect to an asset; and (iii) process the data pursuant to the suitability in order to communicate the sensor data derived therefrom to an external device or to another user device from amongst the plurality of mobile devices. The server 220 may also communicate said suitability to a least another one of the plurality of mobile devices.
[0132] How the server 220 is configured to do so will be explained in more detail herein below.
[0133] It will be appreciated that the server 220 can be implemented as a conventional computer server and may comprise at least some of the features of the computing device 100 shown in FIG. 1. In a non-limiting example of one or more implementations of the present technology, the server 220 is implemented as a server running an operating system (OS). Needless to say that the server 220 may be implemented in any suitable hardware and / or software and / or firmware or a combination thereof. In the disclosed non-limiting implementation of the present technology, the server 220 is a single server. In one or more alternative non-limiting implementations of the present technology, the functionality of the server 220 may be distributed and may be implemented via multiple servers (not shown).
[0134] The implementation of the server 220 is well known to the person skilled in the art. However, the server 220 comprises a communication interface (not shown) configured to communicate with various entities (such as the database 230, for example, and other devices potentially coupled to the communication network 240) via the communication network 240. The server 220 further comprises at least one computer processor (e.g., the processing device of the computing device 100) operationally connected with the communication interface and structured and configured to execute various processes to be described herein.
[0135] Database
[0136] A database 230 is communicatively coupled to the server 220 and the client device 210 via the communications network 240 but, in one or more alternative implementations, the database 230 may be directly coupled to the server 220 without departing from the teachings of the present technology. Although the database 230 is illustrated schematically herein as a single entity, it will be appreciated that the database 230 may be configured in a distributed manner; for example, the database 230 may have different components, each component being configured for a particular kind of retrieval therefrom or storage therein.
[0137] The database 230 may be a structured collection of data, irrespective of its particular structure or the computer hardware on which data is stored, implemented or otherwise rendered available for use. The database 230 may reside on the same hardware as a process that stores or makes use of the information stored in the database 230, or it may reside on separate hardware, such as on the server 220. The database 230 may receive data from the server 220 for storage thereof and may provide stored data to the server 220 for use thereof.
[0138] In one or more implementations of the present technology, the database 230 is configured to store inter alia, (i) sensor data, for example relating to an asset (e.g., a tank) and communicated to or by a telemetry unit; (ii) data derived from the sensor data, such as a summary of the sensor data, a simplified version of the sensor data, a statistical report of the sensor data, or a flag of action needed based on the sensor data; (iii) a registry of mobile devices that have installed thereon an asset monitoring application; (iv) a record of assets (e.g., tanks) that are capable of communicating sensor data to the asset monitoring application; (v) a record of which of the plurality of mobile devices are suitable for the asset monitoring service; (vi) a record of which of the plurality of mobile devices are associated with which assets; (vii) a record of external devices that are associated with the assets; (viii) a record of fulfillment services that are capable of fulfilling the needs of an asset (e.g., filling a tank); (ix) a record of the timing for the server receiving data from the asset monitoring application.
[0139] Communication Network
[0140] In one or more implementations of the present technology, the communications network 240 is the Internet. In one or more alternative non-limiting implementations, the communication network 240 may be implemented as any suitable local area network (LAN), wide area network (WAN), a private communication network, or the like. It will be appreciated that implementations for the communication network 240 are for illustration purposes only. How a communication link 245 (not separately numbered) between the client device 210, the server 220, the database 230, and / or another computing device (not shown) and the communications network 240 is implemented will depend inter alia on how each computing device is implemented.
[0141] The communication network 240 may be used in order to transmit data packets amongst the different parts of the system 200. The communication network 240 may be used to transmit requests between a telemetry unit to an asset, a telemetry unit and mobile devices, the server 220 and mobile devices, the server 220 and external devices, the server 220 and a fulfillment service, or an external device and a fulfillment service. In another example, the communication network 240 may be used to transmit data between components of the same kind, such as between external devices that are associated with a particular asset. Data flow
[0142] With reference to FIG. 3, there is shown a schematic diagram of a data flow 300 of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0143] In one or more implementations of the present technology, the server 220 executes the data flow 300. In alternative implementations, the server 220 may execute at least a portion of the data flow 300, and one or more other servers (not shown) may execute other portions of the data flow 300. In another implementation, the second server 240 executes at least a portion of the data flow 300.
[0144] The data flow 300 comprises some or all of the following components: network 310, smartphone 320, user 322, sensor reporting data 324, telemetry unit 326, sensor 328, monitored asset 330, server 340, logic 342, presentation data 344, user 346, and commodity provider systems 348.
[0145] The components shown in FIG. 3 may correspond to the components shown in FIG. 1 and / or FIG. 2. For example, the network 310 may be the communications network 240. The user 322 may be the user 205. The smartphone 320 may be the client device 210. The server 340 may be the server 220. The logic 342 may be the program instructions stored on the solid-state drive 120. The presentation data 344 may be data stored on the server 220. The user 346 may be the user 205.
[0146] The network 310 communicates with the smartphone 320, which is operated by the user 322. The network 310 also communicates with the server 340.
[0147] The smartphone 320 receives the sensor reporting data 324 from the telemetry unit 326. The telemetry unit 326 generates the sensor reporting data 324 based on sensor data received from the sensor 328. The sensor 328 generates sensor data based on signals and / or measurements obtained from the monitored asset 330.
[0148] The server 230 operates on the logic 342 to produce the presentation data 344. The presentation data 344 is communicated to the user 346 and / or the commodity provider systems 348. loT Sensor Architecture
[0149] Now turning to FIG. 4, there is shown a schematic diagram of an Internet of Things (loT) sensor architecture 400 for an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0150] In one or more implementations of the present technology, the loT sensor architecture 400 is part of the asset monitoring system and / or in communication with the system 200.
[0151] In one or more implementations of the present technology, the loT sensor architecture 400 is part of the architecture of the telemetry unit 326.
[0152] The loT architecture comprises some or all of the following components: embedded firmware 410, a microcontroller unit 412, a wireless unit 414, a sensor unit 416, a user interface 418, a power source 420, and memory 422.
[0153] The embedded firmware 410 includes logic and / or instructions that may communicate with or control the microcontroller unit 412.
[0154] The microcontroller unit 412 receives power from the power source 420. The microcontroller 412 communicates with a wireless unit 414 and a sensor unit 416. The microcontroller may have a user interface 418. The microcontroller unit 412 stores data in and receives data from the memory 422.
[0155] Smartphone to Telemetry Unit Communication
[0156] Now turning to FIG. 5, there is shown a schematic diagram of a communication protocol 500 between a smartphone 510 and a telemetry unit 522 for an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0157] In one or more implementations of the present technology, the communication protocol 500 is part of the asset monitoring system and / or in communication with the system 200. The components shown in FIG. 5 may correspond to the components shown in FIG. 1, FIG. 2, and / or FIG. 3. For example, the smartphone 510 may be the computing device 100. The smartphone 510 may be the client device 210. The telemetry unit 522 may be the telemetry unit 326.
[0158] The communication protocol 500 sets forth the interactions between the smartphone 510 and the telemetry unit 522.
[0159] The smartphone comprises an operating system (OS) 512 and a mobile app 518. The mobile app 518 comprises a Bluetooth LE SDK 514 and business logic 516. The mobile app 518 may be a program installed on the smartphone 510 or a process run by the OS 512. Alternatively, or in addition, the operating system 512 comprises the Bluetooth LE SDK 514 and the business logic 516. In the case that the mobile app 518 is a process run by the OS 512, the OS 512 may act as the transmitter of information, for example, using Bluetooth LE (“BLE”) signals. For example, for Apple devices, this may be done if the BLE signals are accessed through a “Find My” network so that sensor readings are sent through the Apple internal infrastructure.
[0160] The telemetry unit 522 makes an advertisement, such as a BLE service UUID, to the operating system 512. The advertisement may come in the form of one or more advertisement packets.
[0161] The Bluetooth LE SDK communicates that a BLE telemetry unit is detected to the business logic 516. A unit GUTD is created upon a current state 520 that, after the telemetry unit 522 is detected, the mobile app 518 is able to interact with the telemetry unit 522.
[0162] Direct Mobile Reporting ADD
[0163] Now turning to FIG. 6, there is shown a schematic diagram of a communication protocol 600 between various components of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology. In one or more implementations of the present technology, the communication protocol 600 is part of the asset monitoring system and / or in communication with the system 200.
[0164] The components shown in FIG. 6 may correspond to the components shown in FIG. 1, FIG. 2, FIG. 3, and / or FIG. 4. For example, the dispatcher 610 may be the commodity provider systems 330. The Nee-Vo portal 612 may be the communications network 240. The Nee-Vo DTA App 614 may be the mobile app 518. The Nee-Vo tech app 616 may be a modified version of the mobile app 518. The cylinder 620 may be the monitored asset 332. The consumer 622 may be the user 314.
[0165] The communication protocol 600 sets for interactions between some or all of the following: a dispatcher 610, a Nee-Vo portal 612, a Nee-Vo DTA app 614, a Nee-Vo tech app 616, a delivery service 618, an asset 620, and an asset owner 622.
[0166] The dispatcher 610 communicates with the Nee-Vo portal 612.
[0167] The Nee-Vo portal communicates with the Nee-Vo DTA app 614 and the Nee-Vo tech app 616.
[0168] The Nee-Vo DTA app 614 communicates with the asset 620, which may be a tank cylinder. The tank cylinder may be equipped with a Bluetooth reader device, such as an RC1010. The Nee-Vo DTA app communicates with the asset owner 622, which may be a consumer or a data structure representing the asset owner 622.
[0169] The Nee- Vo tech app 616 communicates with the delivery service 618, which may be a delivery person, a delivery apparatus, or a data structure representing the delivery service 618.
[0170] Advertising Packets
[0171] Now turning to FIG. 7, there is shown a schematic diagram of advertising packets 700 for use in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology. Each of the advertising packets 700 may be divided, either conceptually for the sake of understanding or during processing, into elements that have a memory size measured in bytes (B), such as IB, 2B, . . . , 39B, or a range of bytes, such as 0-16B, 15- 3 IB, 2-39B, etc.
[0172] The advertising packets 700 may include a generic advertisement packet 710, an advertising PDU (3 CH) 712, an iBeacon packet 714, a service UUID packet 716, and / or a telemetry packet 718.
[0173] The generic advertisement packet 710 comprises a preamble (IB), an access address (4B), a PDU (2-39B), and a CRC (3B).
[0174] The advertising PDU (3 CH) 712 comprises a header (2B), a MAC address (6B), and data (0-3 IB).
[0175] The iBeacon packet 714 comprises an ADI (3B), an AD2 (4B), an iBeacon prefix (2B), an iBeacon UUID (16B), a major (2B), a minor (2B), and an rssi@lm (IB). The ADI may have the data 02 01 06. The AD2 may have the data 1 A FF 4C 00, the iBeacon prefix may have the data 02 15. The iBeacon prefix, the iBeacon UUID, the major, the minor, and the rssi@lm may store up to 24B of manufacturer data. The iBeacon packet 714 may be fixed at 30B.
[0176] The service UUID packet 716 comprises an ADI (3B), an AD2 (2B), and a 128- bit manufacturer-specific service UUID (16B). The ADI may have the data 0201 06. The AD2 may have the data 11 06. The service UUID may have the data 6A DB BD F9 2D 19 C2 A7 83 47 AA 69 95 4E 30 F5. The service UUID packet 716 may be fixed at 21B.
[0177] The telemetry packet 718 comprises an ADI (3B), an AD2 (4B), a telemetry prefix (7B), a telemetry type (IB) and telemetry data (0-16B). The ADI may have the data 02 01 06. The AD2 may have the data xx FF Bl 03. The telemetry prefix may have the data 4F 54 4F 54 45 4C 45. The telemetry packet 718 may be variable at 15-3 IB.
[0178] First Scenario - Background Mode
[0179] Now turning to FIG. 8, there is shown a schematic diagram of a data exchange 800 for a first scenario of an asset monitoring system in accordance with one or more non- limiting implementations of the present technology. The first scenario includes telemetry unit detection and data exchange in a background mode.
[0180] In one or more implementations, the client device 210 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non- transitory computer readable storage medium such as the solid-state drive 120 and / or the random-access memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute any of the required processing steps for the first scenario.
[0181] Alternatively, or in addition, the processing device may be a server participating in the asset monitoring service, one of a plurality of mobile devices participating in the asset monitoring service, or a telemetry unit for an asset being monitored by the asset monitoring service.
[0182] At 810, the processing device is assigned the inactive status.
[0183] At 812, the processing device - or the operating system (OS) of the processing device - launches a background worker.
[0184] At 814, the processing device starts the background service.
[0185] At 816, the processing device initiates a (BLE) scan, which may be with a service UUID.
[0186] At 818, the processing device detects that a (BLE) telemetry unit is in proximity. This may occur later than 816.
[0187] At 820, the processing device connects to the (BLE) telemetry unit. This may include assigning ID = A12345, for example. The assignment of ID = A12345 means that the mobile app obtained the unique device identifier. Later on, the mobile app will be able to operate with this device because its ID is known to the mobile app and to the OS. For example, the mobile app may request the OS to connect to this particular device once it becomes available, event if it is not nearby at the moment of this request. At 822, the processing device reads (BLE) characteristics. This may include a UUID list. The UUTD list represents the set of known identifiers. The BLE device provides characteristics (or fields) with L JIDs. The mobile app knows about their existence, and knows that the characteristic with, for example, a LTUID = “A” contains the tank level. The value of this characteristic “A” can be fetched, stored, etc.
[0188] At 824, the processing device stores data.
[0189] The background mode may be considered to be all of 812 to 824. The background mode for mobile apps is an app state, when the app is not active. The mobile phone might be locked, or an another app might be running in the foreground at the time.
[0190] Now turning to FIG. 9, there is shown a schematic diagram of a process flow 900 for the first scenario of an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology.
[0191] At 910, the processing device is assigned the inactive status.
[0192] At 912, the processing device launches.
[0193] At 914, the processing device schedules one or more background workers.
[0194] At 916, the processing device - or the OS of the processing device - launches background worker (data). This may occur later than 914. There may be two background processes, where the first one is responsible for the BLE scan listening and the second one periodically sends the accumulated readings.
[0195] At 918, the processing device determines whether the Internet is available. If YES (i.e., the Internet is available), then the processing device continues to 920.
[0196] At 920, the processing device causes the mobile app to send data. The mobile app may be a program installed on the processing device or a process run by the OS of the processing device.
[0197] At 922, the processing device - or the OS of the processing device - launches the background worker (BLE). This may occur later than 914. At 924, the processing device causes the background worker to start a (BLE) scan service.
[0198] At 926, the processing device determines that a (BLE) telemetry unit is detected.
[0199] At 928, the processing device connects to the detected telemetry unit.
[0200] At 930, the processing device reads (BLE) characteristics with UUIDs.
[0201] At 932, the processing device stores data.
[0202] Second Scenario - Foreground Mode
[0203] Now turning to FIG. 10, there is shown a schematic diagram of a data flow 1000 for a second scenario of an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology. The second scenario includes telemetry unit detection and data exchange when starting in a foreground mode.
[0204] In one or more implementations, the client device 210 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non- transitory computer readable storage medium such as the solid-state drive 120 and / or the random-access memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute any of the required processing steps for the second scenario.
[0205] Alternatively, or in addition, the processing device may be a server participating in the asset monitoring service, one of a plurality of mobile devices participating in the asset monitoring service, or a telemetry unit for an asset being monitored by the asset monitoring service.
[0206] At 1010, the processing device is assigned the inactive status.
[0207] At 1012, the processing device registers that the mobile app is launched in foreground mode. The mobile app may be a program installed on the processing device or a process run by the OS of the processing device. At 1014, the processing device initiates (BLE) scan, which may be with a service
[0208] UUID.
[0209] The foreground mode may be considered to be all of 1012 to 1014.
[0210] At 1016, the processing device - or the mobile app running on the processing device - is backgrounded. This may be considered the time when the mobile app is put in sleep mode by the OS.
[0211] At 1018, the processing device detects that a (BLE) telemetry unit is in proximity. This may be considered the time when the mobile app is woken up by the OS. This may occur several hours later than 1016.
[0212] At 1020, the processing device connects to the (BLE) telemetry unit. This may include assigning ID = A12345, for example. The assignment of ID = A12345 means that the mobile app obtained the unique device identifier. Later on, the mobile app will be able to operate with this device because its ID is known to the mobile app and to the OS. For example, the mobile app may request the OS to connect to this particular device once it becomes available, event if it is not nearby at the moment of this request.
[0213] At 1022, the processing device reads (BLE) characteristics. This may include a UUID list. The UUID list represents the set of known identifiers. The BLE device provides characteristics (or fields) with UUIDs. The mobile app knows about their existence, and knows that the characteristic with, for example, a UUID = “A” contains the tank level. The value of this characteristic “A” can be fetched, stored, etc.
[0214] At 1024, the processing device stores data.
[0215] The background mode may be considered to be all of 1016 to 1024.
[0216] Now turning to FIG. 11, there is shown a schematic diagram of a process flow 1100 for the second scenario of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0217] At 1110, the processing device is assigned the inactive status. At 1112, the processing device launches the mobile app. The purpose of this may be so that the mobile app signals to the OS to begin listening for BLE detections.
[0218] At 1114, the processing device initiates a (BLE) scan, which may be with a service UUID.
[0219] At 1116, the processing device - or the mobile app running on the processing device - is backgrounded. This may be considered the time when the mobile app is put in sleep mode by the OS.
[0220] At 1118, the processing device - or the OS of the processing device - detects a (BLE) telemetry unit, which may be with a service UUID. The purpose of this may be so that the OS detects the telemetry unit signal with a service advertisement. This may occur several hours later than 1116.
[0221] At 1120, the processing device - or the OS of the processing device - wakes up the mobile app.
[0222] At 1122, the processing device connects to the detected telemetry unit. The purpose of this may be so that the mobile device connects to the detected telemetry unit to obtain readings.
[0223] At 1124, the processing device reads (BLE) characteristics with UUIDs.
[0224] At 1126, the processing device stores data. Next, the processing device may continue to one of 1132 or 1134.
[0225] At 1128, the processing device requests push notifications permission.
[0226] At 1130, the processing device is granted permission for push notifications.
[0227] At 1132, the processing device - or the OS of the processing device - receives a push notification. This may occur several hours later than 1126 or 1130.
[0228] At 1134, the processing device - or the OS of the processing device - initiates a background refresh. This may occur several hours later than 1126. The purpose of this may be to have the OS initiate a data exchange in the background, thus having the previously stored (or accumulated) data uploaded to the server.
[0229] At 1136, the processing device - or the OS of the processing device - wakes up the mobile app.
[0230] At 1138, the processing device - or the mobile app - sends data.
[0231] Third Scenario - Long Polling
[0232] Now turning to FIG. 12, there is shown a schematic diagram of a data flow 1200 for a third scenario of an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology. The third scenario includes telemetry unit detection and data exchange when starting in a long polling mode.
[0233] In one or more implementations, the client device 210 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non- transitory computer readable storage medium such as the solid-state drive 120 and / or the random-access memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute any of the required processing steps for the third scenario.
[0234] Alternatively, or in addition, the processing device may be a server participating in the asset monitoring service, one of a plurality of mobile devices participating in the asset monitoring service, or a telemetry unit for an asset being monitored by the asset monitoring service.
[0235] At 1210, the processing device registers that a (BLE) telemetry unit is found. This telemetry unit may be assigned ID = A12345, for example.
[0236] At 1212, the processing device starts a process in which the mobile app requests the OS to connect to a known (BLE) telemetry unit once it becomes available. This may include assigning ilD = A12345, for example. If the identifier for the telemetry unit is known, the mobile app signals to the OS to establish a connection with it at any moment of time. Then, the mobile app gets suspended, backgrounded, or goes to sleep. But once the OS detects this requested telemetry unit, it wakes up the mobile app, and the mobile app can perform further interactions, like a readings fetch. At 1214, the processing device detects that a (BLE) telemetry unit is in proximity. This may be considered the time when the mobile app is woken up by the OS. This may occur several hours later than 1212. The mobile app may be a program installed on the processing device or a process run by the OS of the processing device.
[0237] At 1216, the processing device connects to the (BLE) telemetry unit. This may also be considered the time when the mobile app is woken up by the OS.
[0238] At 1218, the processing device reads (BLE) characteristics. This may include a UUID list. The UUTD list represents the set of known identifiers. The BLE device provides characteristics (or fields) with UUIDs. The mobile app knows about their existence, and knows that the characteristic with, for example, a UUID = “A” contains the tank level. The value of this characteristic “A” can be fetched, stored, etc.
[0239] At 1220, the processing device stores data.
[0240] The background mode may be considered to be all of 1214 to 1220.
[0241] Now turning to FIG. 13, there is shown a schematic diagram of a process flow 1300 for the third scenario of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0242] At 1310, the processing device registers that the mobile app was previously connected and that a (BLE) telemetry unit ID is known.
[0243] At 1312, the processing device asks the OS to connect with the known (BLE) telemetry unit ID. This may occur even if a telemetry unit is not available nearby.
[0244] At 1314, the processing device - or the mobile app running on the processing device - is backgrounded. This may be considered the time when the mobile app is put in sleep mode by the OS.
[0245] At 1316, the processing device - or the OS of the processing device - detects a (BLE) telemetry unit with the known (BLE) telemetry unit ID. This may occur several hours later than 1314. At 1318, the processing device - or the OS of the processing device - wakes up the mobile app.
[0246] At 1320, the processing device connects to the detected telemetry unit.
[0247] At 1322, the processing device reads (BLE) characteristics with UUIDs.
[0248] At 1324, the processing device stores data. Next, the processing device may continue to one of 1330 or 1332.
[0249] At 1326, the processing device requests push notifications permission.
[0250] At 1328, the processing device is granted permission for push notifications.
[0251] At 1330, the processing device - or the OS of the processing device - receives a push notification. This may occur several hours later than 1324 or 1328.
[0252] At 1332, the processing device - or the OS of the processing device - initiates a background refresh. This may occur several hours later than 1324.
[0253] At 1334, the processing device - or the OS of the processing device - wakes up the mobile app.
[0254] At 1336, the processing device - or the mobile app - sends data.
[0255] Fourth Scenario - Keeping Mobile ADD Alive
[0256] Now turning to FIG. 14, there is shown a schematic diagram of a data flow 1400 for a fourth scenario of an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology. The fourth scenario includes telemetry unit detection and data exchange when it is required to keep a mobile app alive. For example, this fourth scenario involves, based on iBeacon detection, launching back the mobile app that was previously closed / terminated by the user.
[0257] In one or more implementations, the client device 210 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non- transitory computer readable storage medium such as the solid-state drive 120 and / or the random-access memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute any of the required processing steps for the fourth scenario.
[0258] Alternatively, or in addition, the processing device may be a server participating in the asset monitoring service, one of a plurality of mobile devices participating in the asset monitoring service, or a telemetry unit for an asset being monitored by the asset monitoring service.
[0259] At 1410, the processing device is assigned the inactive status.
[0260] At 1412, the processing device registers that the mobile app is launched in foreground mode. The mobile app may be a program installed on the processing device or a process run by the OS of the processing device.
[0261] At 1414, the processing device identifies a subscribe on location event. This may include the mobile app subscribing on events coming from an iBeacon with UUTD = A4552F9F.
[0262] At 1416, the processing device is assigned the terminated status.
[0263] At 1418, the processing device detects that an iBeacon is in proximity. This may be considered the time when the mobile app is woken up by the OS. This may occur several hours later than 1416.
[0264] At 1420, the processing device initiates (BLE) scan, which may be with a service UUID.
[0265] The background mode may be considered to be all of 1416 to 1420.
[0266] Now turning to FIG. 15, there is shown a schematic diagram of a process flow 1500 for the fourth scenario of an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0267] At 1510, the processing device is assigned the inactive status.
[0268] At 1512, the processing device launches. At 1514, the processing device identifies a subscribe on location event. This may include the mobile app subscribing on events coming from an iBeacon with UUID = A4552F9F.
[0269] At 1516, the processing device is granted permission for location tracking from the iBeacon. iBeacons may be considered to be GPS anchors. The iBeacon may provide the mobile app with accurate coordinates. For example, in order to receive iBeacon detection events from the OS, the mobile app needs to ask for geolocation permission.
[0270] At 1518, the processing device terminates the mobile app. This may occur later than 1516.
[0271] At 1520, the processing device - or the OS on the processing device - detects the iBeacon area.
[0272] At 1522, the processing device - or the OS on the processing device - launches the mobile app in the background.
[0273] At 1524, the processing device initiates (BLE) scan, which may be with a service UUID.
[0274] Bluetooth LE Stack Setup
[0275] Now turning to FIG. 16, there is shown a schematic diagram of a data flow 1600 for a mobile app in an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology. The mobile app may be a program installed on a processing device or a process run by the OS of the processing device. The data flow 1600 may illustrate, for example, the specific actors within the mobile app required to perform necessary BLE-related operations for the asset monitoring system to function.
[0276] In one or more implementations, the client device 210 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non- transitory computer readable storage medium such as the solid-state drive 120 and / or the random-access memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute any of the required processing steps for the Bluetooth LE stack setup.
[0277] Alternatively, or in addition, the processing device may be a server participating in the asset monitoring service, one of a plurality of mobile devices participating in the asset monitoring service, or a telemetry unit for an asset being monitored by the asset monitoring service.
[0278] The mobile app 1610 comprises a Bluetooth LE SDK 1612 and a BluetoothLEManager 1618.
[0279] The Bluetooth LE SDK 1612 comprises a CBCentralManager 1614 and a CBCentralManagerDel egate 1616, which may communicate with each other. The CBCentralManager 1614 sends data and / or function calls to the BluetoothLEManager 1618. The CBCentralManagerDelegate 1616 sends data and / or function calls to the BluetoothLEManager 1618.
[0280] The CBCentralManager 1614 comprises the following data: restoreidentifier: String and delegate: CBCentralManagerDelegate. The CBCentralManager 1614 comprises the following function: scanForPeripherals(withServices:).
[0281] At 1620, the restoreidentifier is provided to the processing device - or the OS of the processing device - for the OS to be able to restore the mobile app state on telemetry unit detection.
[0282] At 1622, the scanForPeripherals(withServices:) function includes passive telemetry unit detection while the mobile app is in the background, which requires providing a service UUID.
[0283] The CBCentralManagerDelegate 1616 comprises the following functions: centralManager(didRestoreState:) and centralManager(didDiscoverPeripheral :).
[0284] At 1624, the centralManager(didRestoreState:) function is used so that state restoration happens each time the mobile app is brought back from the background. At 1626, the centralManager(didDiscoverPeripheral:) function is used so that the mobile app receives telemetry unit information each time the OS receives an advertisement with a specified service UUID.
[0285] Now turning to FIG. 17, there is shown a schematic diagram of app management 1700 for the mobile app in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology. The mobile app may be a program installed on a processing device or a process run by the OS of the processing device.
[0286] The app management 1700 comprises a BluetoothLEManager 1710, a CBCentralManagerDelegate 1712, and CBCentralManager 1714, an OS 1716, and a telemetry unit 1718.
[0287] The BluetoothLEManager 1710 may be the BluetoothLEManager 1618. The CBCentralManagerDelegate 1712 may be the CBCentralManagerDelegate 1616. The CBCentralManager 1714 may be the CBCentralManager 1614.
[0288] On the first straight horizontal line, the processing device launches the mobile app 1720. The mobile app sends an initialize (“init”) message to the BluetoothLEManager 1710. The BluetoothLEManager 1710 sends an init message, which may include a restoreidentifier message, to the CBCentralManager 1714.
[0289] On the second straight horizontal line, the CBCentralManagerDelegate 1712 sends a centralManager(didRestoreState:) function call, which may include a restored peripherals message (e.g., a list of restored known peripherals that were detected previously), to the BluetoothLEManager 1710.
[0290] On the third straight horizontal line, the CBCCentralManagerDel egate 1712 sends a centralManagerDidUpdateState() function call, which may include a ready message, to the BluetoothLEManager 1710.
[0291] On the fourth straight horizontal line, the BluetoothLEManager 1710 sends a scanForPerihperals() function call, which may include a serviceUUID message, to the CBCentralManager 1714. The double wavy lines indicates a break between the mobile app launch 1720 and the telemetry unit 1718. This may be associated with the mobile app sent to background 1722.
[0292] On the fifth straight horizontal line, the telemetry unit 1718 sends an advertisement, which may include a BLE service UUTD, to the OS 1716. The CBCentralManagerDelegate 1712 sends a centralManager(didRestoreState:) function call, which may include a restored peripherals message (e.g., a list of restored known peripherals that were detected previously), to the BluetoothLEManager 1710.
[0293] On the sixth straight horizontal line, the CBCentralManagerDelegate 1712 sends a centralManager(didDiscover:) function call, which may include a peripheral message, to the BluetoothLEManager 1710.
[0294] DTA - New Installs
[0295] Now turning to FIG. 18, there is shown a schematic diagram of an activity flow 1800 for new installs in an asset monitoring system in accordance with one or more nonlimiting implementations of the present technology.
[0296] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute, manage, and / or record the activity flow 1800.
[0297] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0298] Although the activity flow 1800 is described with reference to a tank, it may apply equally to any other asset.
[0299] At 1810, the processing device registers that a dispatcher creates a work order. At 1812, the processing device registers that the dispatcher assigns a work order to a delivery person.
[0300] At 1814, the processing device registers that the delivery person drives to a consumer location.
[0301] At 1816, the processing device registers that the delivery person installs a tank.
[0302] At 1818, the processing device registers that the delivery person captures a tank monitor’s S / N.
[0303] At 1820, the processing device registers that the delivery person sends the S / N to the dispatcher.
[0304] At 1822, the processing device registers that the dispatcher inputs the consumer monitor’s S / N in the Nee-Vo portal.
[0305] At 1824, the processing device registers that the dispatcher sends an activation code to the consumer via email.
[0306] At 1826, the processing device registers that the consumer receives the activation code by email.
[0307] At 1828, the processing device registers that the consumer adds the tank to the DTA app.
[0308] At 1830, the processing device registers that the consumer inputs the activation code.
[0309] At 1832, the processing device registers that the consumer consults the tank level in the DTA app. At 1834, the DTA app may fetch the tank level from the Nee-Vo portal.
[0310] At 1836, the processing device registers that the consumer installs the DTA app.
[0311] At 1838, the processing device registers that the consumer accepts permissions.
[0312] At 1840, the DTA app may start collecting and sending monitor data to the Nee-Vo portal.
[0313] At 1842, the processing device registers that the consumer creates an account. DTA - Asset
[0314] Now turning to FIG. 19, there is shown a schematic diagram of an activity flow 1900 for an asset exchange in an asset monitoring system in accordance with one or more non-limiting implementations of the present technology.
[0315] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute, manage, and / or record the activity flow 1900.
[0316] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0317] Although the activity flow 1900 is described with reference to a tank, it may apply equally to any other asset.
[0318] At 1910, the processing device registers that a dispatcher creates a work order.
[0319] At 1912, the processing device registers that the dispatcher assigns a work order to a delivery person.
[0320] At 1914, the processing device registers that the delivery person drives to a consumer location.
[0321] At 1916, the processing device registers that the delivery person exchanges a tank.
[0322] At 1918, the processing device registers that the delivery person captures the old and the new tank monitor’ s S / N.
[0323] At 1920, the processing device registers that the delivery person sends both S / N to the dispatcher. At 1922, the processing device registers that the dispatcher updates the consumer monitor’s S / N in the Nee-Vo portal.
[0324] At 1924, the processing device registers that the consumer consults the new tank level in the DTA app. At 1926, the DTA app may fetch the tank level from the Nee-Vo portal.
[0325] Method for Identifying a Suitable Mobile Device
[0326] FIG. 20 depicts a flowchart of a method 2000 for enabling an operator to identify a user device suitable for an asset monitoring service in accordance with one or more nonlimiting implementations of the present technology.
[0327] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2000.
[0328] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0329] The method 2000 begins at processing step 2010.
[0330] According to processing step 2010, the processing device configures a telemetry unit comprising a wireless transceiver so that the wireless transceiver is capable of receiving sensor data from a first asset.
[0331] According to processing step 2020, the processing device registers a plurality of mobile devices as having installed thereon an asset monitoring application that is capable of communicating with the wireless transceiver.
[0332] According to processing step 2030, the processing device makes the telemetry unit detectable by the plurality of mobile devices. According to processing step 2040, the processing device detects the telemetry unit when the at least one user device is within range such that the at least one user device communicates with the wireless transceiver. The processing device may detect the telemetry unit using at least one user device from the plurality of mobile devices using the asset monitoring application.
[0333] According to processing step 2050, the processing device receives data from the asset monitoring application, thereby establishing a suitability of the at least one user device for the asset monitoring service at least with respect to the first asset. The processing device may receive the data using a server in communication with the plurality of mobile devices.
[0334] According to processing step 2060, the processing device processes the data pursuant to the suitability in order to communicate the sensor data or secondary data derived therefrom to the external device or to another user device. The processing device may process the data using the server.
[0335] According to processing step 2070, the processing device triggers communication of the sensor data or the secondary data to a fulfillment service.
[0336] The method 2000 then ends.
[0337] In at least one implementation of the method 2000, the at least one user device is associated with a second asset.
[0338] In at least one implementation of the method 2000, the server receives the data from the asset monitoring application in separate data chunks from at least two of the plurality of mobile devices.
[0339] In at least one implementation of the method 2000, the processing device communicates said suitability to at least another one of the plurality of mobile devices. The processing device may communicated said suitability using the server.
[0340] In at least one implementation of the method 2000, the at least another one of the plurality of mobile devices is associated with the first asset. In at least one implementation of the method 2000, the external device does not have installed thereon the asset monitoring application.
[0341] In at least one implementation of the method 2000, the external device communicates the sensor data or the secondary data to a fulfillment service.
[0342] In at least one implementation of the method 2000, the external device automatically communicates the sensor data or the secondary data to the fulfillment service in order to trigger fulfilment of needs of the first asset.
[0343] In at least one implementation of the method 2000, the external device has installed thereon a dashboard or API that displays the sensor data or the secondary data to the fulfillment service in order to give the option to the external device to initiate fulfilment of needs of the first asset.
[0344] In at least one implementation of the method 2000, the another user device is associated with the first asset and the server communicates the sensor data or the secondary data to the another user device.
[0345] In at least one implementation of the method 2000, the asset monitoring application is capable of communicating with the wireless transceiver when any of the plurality of mobile devices comes within a range of the wireless transceiver where a signal strength exceeds a minimum threshold.
[0346] In at least one implementation of the method 2000, the asset monitoring application is an app or a process running natively in an operating system of the plurality of mobile devices.
[0347] In at least one implementation of the method 2000, the at least one user device receives the sensor data when the at least one user device communicates with the wireless transceiver.
[0348] In at least one implementation of the method 2000, the operator is at least one of: a person operating the system for a tank management service, a bot operating the system for the tank management service, the external user device, or a user of the external device. In at least one implementation of the method 2000, the asset monitoring service is a dedicated tank monitoring service.
[0349] In at least one implementation of the method 2000, the wireless transceiver is a low-energy, widely available communication device.
[0350] In at least one implementation of the method 2000, the wireless transceiver is Bluetooth Low Energy (BLE) enabled.
[0351] In at least one implementation of the method 2000, the asset is a water tank, a fuel tank, a refrigerator, a greenhouse, an HVAC system, a laboratory, a farm, a truck trailer, a warehouse, or an office.
[0352] In at least one implementation of the method 2000, the plurality of mobile devices comprises smartphones, tablets, iPads, smart watches, smart glasses, or laptops.
[0353] In at least one implementation of the method 2000, the server receives the data from the asset monitoring application at least one of (a) periodically, (b) while the data is broadcast, or (c) after an inquiry.
[0354] In at least one implementation of the method 2000, the secondary data is derived from the sensor data to show at least one of: a summary of the sensor data, a simplified version of the sensor data, a statistical report of the sensor data, or a flag of action needed based on the sensor data.
[0355] In at least one implementation of the method 2000, the telemetry unit is configured to advertise an identifier that allows the at least one user device to detect a presence of the telemetry unit.
[0356] In at least one implementation, the method 2000 comprises a further processing step, that of determining, determines based at least in part on the data, that one or more criteria for a service level for the asset is not met. The criteria may comprise, for example, a frequency of communication between the plurality of mobile devices and the telemetry unit is outside a first predetermined range with regards to a change in the first asset. The criteria may comprise, for example, a status of the first asset is predicted to fall outside a second predetermined range during an absence of monitoring of the first asset by the mobile devices. This establishes a suitability of the asset for the dedicated asset monitoring service. The dedicated monitoring service may be set up by adding, for example, a BLE relay (e.g., TM5240BG) that is capable of maintaining a continuous connection between the telemetry unit and the asset monitoring service.
[0357] In at least one implementation, the method 2000 further comprises three additional processing steps. The first additional processing step is receiving at least one of: (i) location data of at least one of the telemetry unit or the first asset; or (ii) a notification that at least one of the telemetry unit or the first asset was detected outside a geographical area where the first asset was originally assigned the geographical area, the notification being sent by one of the plurality of mobile devices or the telemetry unit, whichever determined that at least one of the telemetry unit or the first asset was outside the geographical area. The second additional processing step is, when the processing device receives the location data, determining that at least one of the telemetry unit or the first asset is outside the geographical area. The third additional processing step is, when at least one of the telemetry unit or the first asset is determined to be outside the geographical area, removing, by the processing device, the first asset from the plurality of assets monitored by the asset monitoring service so that the plurality of mobile devices stop receiving, via the asset monitoring application, any subsequent data from the telemetry unit.
[0358] In at least one implementation, the method 2000 is performed in a different order. In at least one implementation, the method 2000 is performed in such a manner that some or all of the steps are carried out iteratively.
[0359] In at least one embodiment, a first modified method for enabling an operator to identify a user device suitable for an asset monitoring service comprises only some of the steps in method 2000. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0360] In at least one embodiment, a second modified method for enabling an operator to identify a user device suitable for an asset monitoring service comprises all of the steps in method 2000, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology. In at least one embodiment, a non-transitory computer-readable medium (CRM) has stored thereon computer-executable instructions that, when executed by at least one processor, cause the at least one processor to perform the method 2000. The CRM may also have stored thereon additional computer-executable instructions, such as those of any of the implementations of method 2000 discussed herein.
[0361] In at least one embodiment, a system for enabling an operator to identify a at least one user device suitable for an asset monitoring service according method 2000 comprises: a telemetry unit, the at least one user device, and a server. The telemetry unit comprises a wireless transceiver configured to receive sensor data from a first asset and make the telemetry unit detectable by a plurality of mobile devices that have installed thereon an asset monitoring application that is capable of communicating with the wireless transceiver. The at least one user device, which is one of the plurality of mobile devices, uses the asset monitoring application to detect the telemetry unit when the at least one user device is within range such that the at least one user device communicates with the wireless transceiver. The server is in communication with the plurality of mobile devices. The server is configured to receive data from the asset monitoring application, thereby establishing a suitability of the at least one user device for the asset monitoring service at least with respect to the first asset. The server is configured to process the data pursuant to the suitability in order to communicate the sensor data or secondary data derived therefrom to the external device or to another user device. The system may also have additional features, such as those of any of the implementations of method 2000 discussed herein.
[0362] Method for Identifying an Asset for Dedicated Monitoring
[0363] FIG. 21 depicts a flowchart of a method 2100 for enabling an operator to identify an asset suitable for a dedicated asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0364] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2100.
[0365] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0366] The method 2100 begins at processing step 2110.
[0367] According to processing step 2110, the processing device receives one or more notifications that one or more of a plurality of mobile devices detected a telemetry unit when the one or more of the plurality of mobile devices came within range of the telemetry unit such that the one or more of the plurality of mobile devices communicated with a wireless transceiver of the telemetry unit. The processing device is in communication with the plurality of mobile devices. The plurality of mobile devices has stored thereon an asset monitoring application. The telemetry unit is configured to receive sensor data from the asset.
[0368] According to processing step 2120, the processing device receives data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the asset.
[0369] According to processing step 2130, the processing device determines, based at least in part on the data, that one or more criteria for a service level for the asset is not met. The criteria may comprise, for example, a frequency of communication between the plurality of mobile devices and the telemetry unit is outside a first predetermined range with regards to a change in the asset. The criteria may comprise, for example, a status of the asset is predicted to fall outside a second predetermined range during an absence of monitoring of the asset by the mobile devices. This establishes a suitability of the asset for the dedicated asset monitoring service.
[0370] The method 2100 then ends.
[0371] In at least one implementation, the dedicated monitoring service may be set up by adding, for example, a BLE relay (e.g., TM5240BG) that is capable of maintaining a continuous connection between the telemetry unit and the asset monitoring service.
[0372] In at least one implementation, the method 2100 is performed in a different order. In at least one implementation, the method 2100 is performed in such a manner that some or all of the steps are carried out iteratively.
[0373] In at least one embodiment, a first modified method for enabling an operator to identify an asset suitable for a dedicated asset monitoring service comprises only some of the steps in method 2100. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0374] In at least one embodiment, a second modified method for enabling an operator to identify an asset suitable for a dedicated asset monitoring service comprises all of the steps in method 2100, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology.
[0375] Method for Removing an Asset from Monitoring
[0376] FIG. 22 depicts a flowchart of a method 2200 for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets comprising a first asset associated with a geographical area, in accordance with one or more non-limiting implementations of the present technology.
[0377] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2200.
[0378] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0379] The method 2200 begins at processing step 2210. According to processing step 2210, the processing device receives one or more notifications that one or more of a plurality of mobile devices detected a telemetry unit when the one or more of the plurality of mobile devices came within range of the telemetry unit and received, via an asset monitoring application, sensor data from the telemetry unit. The processing device is in communication with the plurality of mobile devices. The plurality of mobile devices have stored thereon the asset monitoring application. The telemetry unit is configured to receive sensor data from the first asset.
[0380] According to processing step 2220, the processing device receives data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the asset.
[0381] According to processing step 2230, the processing device receives at least one of (i) location data of at least one of the telemetry unit or the first asset; or (ii) a notification related to the location data. The notification may be a notification that at least one of the telemetry unit or the first asset was detected outside the geographical area. The notification may be sent by one of the plurality of mobile devices or the telemetry unit, whichever determined that at least one of the telemetry unit or the first asset was outside the geographical area.
[0382] According to processing step 2240, the processing device determines that at least one of the telemetry unit or the first asset is outside the geographical area. This processing step is optional, and may be executed, for example, when the processing device is a server for the asset monitoring service that receives the location data from another component of the asset monitoring service, such as one of the mobile devices or the telemetry unit.
[0383] According to processing step 2250, the processing device removes the first asset from the plurality of assets monitored by the asset monitoring service. Such removal is carried out so that the plurality of mobile devices stop receiving, via the asset monitoring application, any subsequent data from the telemetry unit. This processing step may be executed on the condition that at least one of the telemetry unit or the first asset is determined to be outside the geographical area.
[0384] The method 2200 then ends. In at least one implementation, the method 2200 is performed in a different order. In at least one implementation, the method 2200 is performed in such a manner that some or all of the steps are carried out iteratively.
[0385] In at least one embodiment, a first modified method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service comprises only some of the steps in method 2200. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0386] In at least one embodiment, a second modified method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service comprises all of the steps in method 2200, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology.
[0387] Method of Managing Resources of a Telemetry Unit
[0388] FIG. 23 depicts a flowchart of a method 2300 of managing resources of a telemetry unit in an asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0389] The method 2300 may be applied to an asset monitoring service where the telemetry unit is configured to receive sensor data from a first asset monitored by the asset monitoring service. Alternatively, or in addition, the method 2300 may be applied to an asset monitoring service that comprises an asset monitoring application that is installed on a plurality of mobile devices to make the mobile devices capable of communicating with the telemetry unit.
[0390] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2300. Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0391] The method 2300 begins at processing step 2310.
[0392] According to processing step 2310, the processing device receives the sensor data from the first asset. Alternatively, or in addition, the processing device may read the sensor data from the first asset.
[0393] According to processing step 2320, the processing device advertises a message. The message may comprise at least one of (i) the sensor data or (ii) an identifier that allows the plurality of mobile devices to detect a presence of the telemetry unit and that the telemetry unit is connectable.
[0394] According to processing step 2330, the processing device sends the sensor data to one of the plurality of mobile devices.
[0395] According to processing step 2340, the processing device determines an action to manage the resources of the telemetry unit. The action may comprise at least one of a number of actions. One possible action is stopping advertising of the message during a specified time period. Another possible action is limiting connection to the one of the plurality of mobile devices, thereby preventing connection to the telemetry unit by any other of the plurality of mobile devices. Another possible action is severing the connection to the one of the plurality of mobile devices after the sensor data is sent to the one of the plurality of mobile devices. Another possible action is adjusting a rate of the advertising of the message based on at least one of: (i) a count of the plurality of mobile devices that read the sensor data, (ii) how recent the sensor data was read, or (iii) a change in the sensor data exceeding a threshold.
[0396] According to processing step 2350, the processing device executes the action
[0397] The method 2300 then ends. In at least one implementation, the method 2300 is performed in a different order. In at least one implementation, the method 2300 is performed in such a manner that some or all of the steps are carried out iteratively.
[0398] In at least one embodiment, a first modified method of managing resources of a telemetry unit in an asset monitoring service comprises only some of the steps in method 2300. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0399] In at least one embodiment, a second modified method of managing resources of a telemetry unit in an asset monitoring service comprises all of the steps in method 2300, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology.
[0400] Method of Replacing / Cloning a Telemetry Unit
[0401] FIG. 24 depicts a flowchart of a method 2400 for enabling an operator to manage a plurality of assets monitored by an asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0402] The method 2400 may be applied to an asset monitoring service where the plurality of assets comprise a first asset associated with a first telemetry unit having a first advertising identifier. The first telemetry unit may be configured to receive sensor data from the first asset.
[0403] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2400.
[0404] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service. The method 2400 begins at processing step 2410.
[0405] According to processing step 2410, the processing device sends the sensor data to one or more of a plurality of mobile devices having stored thereon an asset monitoring application, when the one or more of the plurality of mobile devices comes within range of the first telemetry unit.
[0406] According to processing step 2420, the processing device receives a notification that a second asset associated with a second telemetry unit is being added to the plurality of assets monitored by the asset monitoring service. The notification may also indicate whether the second asset is replacing the first asset. Alternatively, the default scenario is that the second asset replaces the first asset, and the notification indicates that the second asset is not replacing the first asset.
[0407] According to processing step 2430, the processing device branches to one of processing step 2440 or processing step 2450. The processing device branches to processing step 2440 when the second asset is replacing the first asset. The processing device branches to processing step 2450 when the second asset is not replacing the first asset.
[0408] According to processing step 2440, the processing device transfers the first advertising identifier to the second telemetry unit. Such transfer may be carried out so that the plurality of mobile devices interpret, via the asset monitoring application, any subsequent data from the second telemetry unit as being subsequent data from the first telemetry unit. The intent may be to replace the first asset with the second asset.
[0409] According to processing step 2450, the processing device clones the first advertising identifier for the second telemetry unit. Such cloning may be carried out so that the plurality of mobile devices automatically connect via the asset monitoring application to the second telemetry unit. The intent may be to seamlessly add the second asset to the plurality of assets monitored by the asset monitoring service.
[0410] According to processing step 2460, the processing device stores an additional separate varying identifier for the second telemetry unit recognized by the asset monitoring application. Such storing may be carried out so that the plurality of mobile devices distinguish between the first telemetry unit and the second telemetry unit while maintaining connectivity to either the first telemetry unit or the second telemetry unit using the single advertising identifier. Again, the intent may be to seamlessly add the second asset to the plurality of assets monitored by the asset monitoring service. The additional separate varying identifier for the second telemetry unit may be preassigned, such as a unique serial number (e.g., that is given to the second telemetry unit after manufactured). Alternatively, or in addition, the processing device may assign the additional separate varying identifier to the second telemetry unit, which will be recognized by the asset monitoring application.
[0411] The method 2400 then ends.
[0412] In at least one implementation, the method 2400 is performed in a different order. In at least one implementation, the method 2400 is performed in such a manner that some or all of the steps are carried out iteratively.
[0413] In at least one embodiment, a first modified method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service comprises only some of the steps in method 2400. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0414] In at least one embodiment, a second modified method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service comprises all of the steps in method 2400, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology.
[0415] Method of Connecting Telemetry Units and Mobile Devices
[0416] FIG. 25 depicts a flowchart of a method 2500 for enabling an operator to manage a plurality of assets monitored by an asset monitoring service in accordance with one or more non-limiting implementations of the present technology.
[0417] The method 2500 may be applied to an asset monitoring service where the plurality of assets are associated with corresponding telemetry units. Each of the corresponding telemetry units may be configured to receive sensor data from a corresponding asset from the plurality of assets.
[0418] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2500.
[0419] Alternatively, or in addition, the processing device may be one of a plurality of mobile devices participating in the asset monitoring service or a telemetry unit for an asset being monitored by the asset monitoring service.
[0420] The method 2500 begins at processing step 2510.
[0421] According to processing step 2510, the processing device assigns a single advertising identifier to each of the telemetry units. Such assignment may be carried out so that each of the plurality of mobile devices requires a single connection confirmation for any one of the telemetry units to connect to all of the telemetry units. The processing device may be in communication with a plurality of mobile devices. The mobile devices may have stored thereon an asset monitoring application.
[0422] According to processing step 2520, the processing device stores additional separate varying identifiers for each of the telemetry units recognized by the asset monitoring application. Such storing may be carried out to allow the plurality of mobile devices to distinguish between individual assets from the plurality of assets while maintaining connectivity to any of the telemetry units using the single advertising identifier. The additional separate varying identifiers for each of the telemetry units may be preassigned, such as unique serial numbers (e.g., that are given to the telemetry units after being manufactured). Alternatively, or in addition, the processing device may assign the additional separate varying identifiers to each of the telemetry units, which will be recognized by the asset monitoring application. According to processing step 2530, the processing device receives one or more notifications. The notifications may be that one or more of the plurality of mobile devices detected one of the telemetry units, the detection of the one of the telemetry units may occur when the one or more of the plurality of mobile devices came within range of the one of the telemetry units. The detection of the one of the telemetry units may also occur when the one or more of the plurality of mobile devices received via the asset monitoring application: (i) the sensor data from the one of the telemetry units and / or (ii) a corresponding identifier from the additional separate varying identifiers that identify which asset the sensor data is associated with.
[0423] According to processing step 2540, the processing device receives data from the asset monitoring application of the one or more of the plurality of mobile devices. The data may relate to the sensor data for the one (or more) of the telemetry units.
[0424] According to processing step 2550, the processing device processes the data and which asset the sensor data was associated with. Such processing may be carried out in order to communicate the sensor data or secondary data derived therefrom to an external device or to one of the plurality of mobile devices.
[0425] The method 2500 then ends.
[0426] In at least one implementation, the method 2500 is performed in a different order. In at least one implementation, the method 2500 is performed in such a manner that some or all of the steps are carried out iteratively.
[0427] In at least one embodiment, a first modified method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service comprises only some of the steps in method 2500. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0428] In at least one embodiment, a second modified method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service comprises all of the steps in method 2500, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology. Method Resources of a Unit
[0429] FIG. 26 depicts a flowchart of a method 2600 of managing resources of a telemetry unit in an asset monitoring service, involving channels using different amounts of energy, in accordance with one or more non-limiting implementations of the present technology
[0430] The method 2600 may be applied to an asset monitoring service where the telemetry unit is configured to receive sensor data from a first asset monitored by the asset monitoring service. The telemetry unit may be further configured to send the sensor data by at least one of a first channel or a second channel, the second channel being a lower energy channel than the first channel. The method 2600 may be applied to an asset monitoring service that comprises a server and / or an asset monitoring application that is installed on a plurality of mobile devices to make the mobile devices capable of communicating with the telemetry unit.
[0431] In one or more implementations, the server 220 comprises a processing device such as the processor 110 and / or the GPU 111 operatively connected to a non-transitory computer readable storage medium such as the solid-state drive 120 and / or the randomaccess memory 130 storing computer-readable instructions. The processing device, upon executing the computer-readable instructions, is configured to or operable to execute the method 2600.
[0432] Alternatively, or in addition, the processing device may be one of a telemetry unit for an asset being monitored by the asset monitoring service or a plurality of mobile devices participating in the asset monitoring service.
[0433] The method 2600 begins at processing step 2610.
[0434] According to processing step 2610, the processing device initializes (e.g., on the telemetry unit), a connection status variable with a first value indicating that the telemetry unit is not connected to any of the plurality of mobile devices over the second channel.
[0435] According to processing step 2620, the processing device reads (e.g., by the telemetry unit) the sensor data from the first asset. Processing step 2620 may be a step that is only executed while the connection status variable has the first value. According to processing step 2630, the processing device sends (e.g., by the telemetry unit), over the first channel, the sensor data (e.g., to the server). Processing step 2630 may be a step that is only executed while the connection status variable has the first value.
[0436] According to processing step 2640, the processing device advertises (e.g., by the telemetry unit), over the second channel, a message. The message may comprise at least one of (i) the sensor data or (ii) an identifier that allows the plurality of mobile devices to detect a presence of the telemetry unit and that the telemetry unit is connectable. Processing step 2640 may be a step that is only executed while the connection status variable has the first value.
[0437] According to processing step 2650, the processing device, when one of the plurality of mobile devices detects the presence of the telemetry unit, changes the connection status variable to a second value indicating that the telemetry unit is connected to at least one of the plurality of mobile devices over the second channel. Processing step 2650 may be a step that is only executed while the connection status variable has the first value. If the connection status variable continues to have the first value, the method 2600 returns to processing step 2620. If the connection status variable changes to the second value, the method 2600 continues to processing step 2660.
[0438] According to processing step 2660, the processing device sends (e.g., by the telemetry unit), over the second channel, the sensor data (e.g., to one of the plurality of mobile devices).
[0439] According to processing step 2670, the processing device suspends all sending of data (e.g., by the telemetry unit) over the first channel for a suspension period. After expiration of the suspension period, the method 2600 may return to processing step 2610 so that the processing device reinitializes (e.g., on the telemetry unit) the connection status variable with the first value indicating that the telemetry unit is not connected to any of the plurality of mobile devices over the second channel.
[0440] The method 2600 then ends. In at least one implementation, the method 2600 is performed in a different order. In at least one implementation, the method 2600 is performed in such a manner that some or all of the steps are carried out iteratively.
[0441] In at least one embodiment, a first modified method of managing resources of a telemetry unit in an asset monitoring service, involving channels using different amounts of energy, comprises only some of the steps in method 2600. In such a case, the first modified method may replace some of the missing steps with other steps to further achieve the goals of the present technology.
[0442] In at least one embodiment, a second modified method of managing resources of a telemetry unit in an asset monitoring service, involving channels using different amounts of energy, comprises all of the steps in method 2600, as well as one or more additional steps. In such a case, the second modified method may add steps to further achieve the goals of the present technology.
[0443] Additional Embodiments
[0444] In the additional embodiments discussed below, one or more of the components / methods described herein may be combined to achieve the goals of the present technology. These components / methods include, for example, the computing device in FIG. 1, the communication system in FIG. 2, the data flow in FIG. 3, the loT sensor architecture in FIG. 4, the communication protocol in FIG. 5, the communication protocol in FIG. 6, the advertising packets in FIG. 7, the data exchange and process flow in FIGS. 8-15, the data exchange and app management in FIGS. 16-17, the activity flow in FIGS. 18-19, and / or the methods in FIGS. 20-26. For the additional embodiments that include a mobile app, the mobile app may be a program installed on the processing device or a process run by the OS of the processing device.
[0445] In an additional embodiment, a system comprises a telemetry unit wirelessly enabled that is detected and for which sensor data is read by a mobile device, which sensor data is stored locally and sent to a server through a network, to be then available along with other telemetry units’ sensor data in a centralized database for delivery logistic offered to the commodity provider through a dashboard, or API or other means. BLE is used by the mobile devices. A technical benefit is that this technology is very energy efficient on the peripheral side (telemetry unit side).
[0446] In another additional embodiment, a telemetry unit comprises a microcontroller, memory, power source, wireless unit, and sensor unit. The microcontroller runs an embedded firmware which reads the sensor periodically, for example every 10 minutes, stores the sensor data locally, and makes available the sensor data through the wireless unit. It may advertise the sensor data directly, for example every 2 seconds. It may advertise an identifier that allows the mobile device to detect there is a telemetry unit that has sensor data and is connectable, so the mobile device then connects to it, then reads the sensor data, with or without additional security mechanisms.
[0447] In another additional embodiment, the telemetry unit changes the advertising messages periodically, the advertised messages to alternate between packets that are needed to comply for multiple receiver-specific constraints. The telemetry unit may advertise every 2 seconds for a period of 10 seconds, the sensor data directly broadcasted for a physical gateway in proximity. The telemetry unit may advertise every 500 ms for a duration of 2 seconds every 1 minute, the availability of a Service UUID (16-bit or 128 bits) for a mobile device and / or mobile app to detect a specific registered service such as a telemetry unit that has sensor data, to initiate a connection and read the sensor data. The telemetry unit may advertise an iBeacon packet format every 200 ms for a period of 5 seconds every 5 minutes, so a mobile device or mobile app can be relaunched by the OS from a previous user termination, and or any other packet needed by the receiver’s constraints, and / or to enable geolocating the telemetry unit.
[0448] In another additional embodiment, the telemetry unit needs to see a specific trigger before any or some of the methods described herein, like detecting a mobile device or mobile app by scanning for detecting in the proximity, or waiting a signature in broadcast advertisements such mobile device or mobile app is capable of reading sensor data, or waiting activation for such mode by another BLE interaction like writing a characteristic in another service.
[0449] In another additional embodiment, the mobile device has an OS that acts as a software layer that controls the hardware layer of the mobile device and allow interaction between the mobile app and the outside world (BLE, network, etc.). In one implementation, the mobile app is not needed, pending the functionality is supported natively by the OS itself.
[0450] In another additional embodiment, the mobile app or mobile device relies on events like iBeacon or push notifications, to either restart the app, allow some run time, or raise the OS priority to execute scanning, connecting, and or sending data to the server.
[0451] In another additional embodiment, the mobile app or mobile device relies on a schedule, like background timers, to either restart the app, allow some run time, or raise the OS priority to execute scanning, connecting, and or sending data to the server.
[0452] In another additional embodiment, the mobile app or mobile device buffers sensor data in the mobile device or mobile app memory. The mobile app or mobile device may filter data from the telemetry unit to minimize the redundant data being collected to a specific telemetry unit. The mobile app or mobile device may send sensor data instantly once received from the telemetry unit. The mobile app or mobile device may send data to the server based on a timed event (time of day or timer). The mobile app or mobile device may send data to the server based on a trigger like a push notification, entering / exiting a specific network, entering / exiting a specific region, or the mobile app or mobile device being actively used by the user, to see the sensor data or for other activities.
[0453] In another additional embodiment, the user of the mobile app receives an URL or link to configure a specific telemetry unit sensor data to be monitored and / or viewable in his mobile device or mobile app. The user of the mobile app may receive an identifier or activation code to configure a specific telemetry unit sensor data to be monitored and / or viewable in his mobile device or mobile app. The user of the mobile app may be remotely associated on the server side for a specific telemetry unit sensor data to be monitored and / or viewable in the user mobile device or mobile app.
[0454] In another additional embodiment, the mobile app or mobile device collects, stores, and transmits telemetry unit sensor data from its associated telemetry unit(s). The mobile device or mobile app collects, stores, and transmits sensor data from other telemetry units which support and advertise for sensor data, in a crowdsourcing fashion, with or without parameters to restrict the crowdsourcing scope (quantity, type of telemetry unit, type of sensor data, regionality criteria, etc.).
[0455] In another additional embodiment, the mobile app is compatible with SDKs for Google and / or Apple. The mobile app may accommodate for variations of the APIs. The mobile device or mobile app may detect and / or read a telemetry unit ID, read sensor data (in a connection or connection-less fashion), store data, the telemetry unit location (position, which may or may not be exact), and report it the server(s) periodically (e.g., can be every 30 minutes) or instantly (e.g., if the mobile app is in foreground).
[0456] In another additional embodiment, the user making use of the mobile device or mobile app scans a QR code to view sensor data of a specific telemetry unit. The user making use of the mobile device or mobile app may scan a QR code to start collecting sensor data of a specific telemetry unit. The user of the mobile device or mobile app may have access to sensor data updated by other users through crowdsourcing. The user making use of the mobile device or mobile app may not need to do any manipulation to enable telemetry unit sensor data collection. The user making use of the mobile device or mobile app may need to connect to the BLE device at least once to associate the mobile device or mobile app to this unit. The user making use of the mobile device or mobile app may need to accept permissions from the OS for using BLE, location services, using network data plan, etc.
[0457] In another additional embodiment, the user receives notifications or alerts when a sensor reaches a certain value, for example low level alert on a fuel tank. The user may receive a notification his tank has been filled or replaced by a full tank. In all those cases, the sensor data is carried to servers and the sensor data is also available to the commodity provider, to plan effective and on-time delivery, without requiring redundant user intervention (except initial setup, and acceptance & maintenance of permissions).
[0458] In another additional embodiment, for an application of an exchangeable tank scenario, a relationship is established between the mobile app user, the telemetry unit ID, and the telemetry unit location. Combined with crowdsourcing, where any mobile device or user that has the mobile app installed would report any telemetry unit ID, telemetry sensor data, and telemetry unit position, the server may detect a tank has moved location, and therefore de-associate the telemetry unit sensor data from being displayed in the previous user’s mobile app. Alternatively, or in addition, external systems like a delivery system, may update the telemetry unit sensor data to be displayed as the replacement of the previous telemetry unit sensor data, so the user does not have to re-scan the tank to be watched.
[0459] In another additional embodiment, the telemetry unit sensor data is protected by encryption. Where crowdsourcing is being performed, private encryption key may not be known by the mobile device, so the mobile device or mobile app cannot interpret the sensor data directly, where it would first have to push it to the server and then get the decrypted sensor data to be available to the user. The primary identifier (e.g., serial number) may be made available un-encrypted, so the mobile device or mobile app can filter data redundant from the same device during a certain time to reduce the data being transferred to the server.
[0460] In another additional embodiment, the telemetry unit stops advertising at least one message during a certain time. This is to prevent the detection and reading and data being transferred to the server across multiple mobile devices, or for energy considerations on either the mobile device side or the telemetry unit side. The mobile device may remain connected to the telemetry sensor as long as in proximity, to reduce the data being transferred to the server across multiple mobile devices, or for energy considerations on either the mobile device side or telemetry unit side.
[0461] In another additional embodiment, the telemetry unit, the mobile device, and / or the mobile app disconnects right away after the sensor data has been read. The telemetry unit, the mobile device, and / or the mobile app may disconnect right away after the mobile device or mobile app writes (or notifies) the telemetry unit that the data has been read. The telemetry Unit may stop advertising being “connectable” to prevent the mobile device or mobile app to reconnect while in proximity. The telemetry unit, the mobile device, and / or the mobile app may disconnect or prevent connection to / from a specific ID or MAC address. A technical benefit may be to reduce the data being transferred to the server across multiple mobile devices, or for energy considerations on either the mobile device side or the telemetry unit side. In another additional embodiment, the telemetry unit can stop, adjust the advertising message, or adjust the rate of advertising based on how many different mobile devices read the data, or how recent the sensor data has been read. The telemetry Unit may adjust advertising based on the relative change of sensor data needing to be reported, for example if the tank level changed by more than 5% within the last 12 hours.
[0462] In another additional embodiment, the server determines the telemetry unit is not being readable often enough by mobile devices and recommends the telemetry unit have a dedicated monitoring system to avoid relying solely on mobile devices or the mobile app. The server may switch the telemetry unit over to the dedicated monitoring system.
[0463] In another additional embodiment, the server determines the telemetry unit is monitoring a high usage or unpredictable sensor application that will not be sufficient to rely on mobile devices (or users) to be monitored, and recommend the telemetry unit have a dedicated monitoring system to avoid relying solely on mobile devices or the mobile app. The server may switch the telemetry unit over to the dedicated monitoring system.
[0464] In another additional embodiment, the mobile device or mobile app collects data anonymously, and reports to the server. The mobile device or mobile app may anonymize or encrypt the sensor data and location so the user is be traceable. The location may be stored (rounded, hashed, or exact position) and stored in the telemetry unit, then compared to a further position (rounded, hashed, or distance from exact position) provided by the same or other users, to detect the position of the telemetry unit has changed. The Telemetry Unit may provide the signal the position has changed without sending specific positions to the server.
[0465] In another additional embodiment, layers of security are added at any steps to protect the sensor data, and or the privacy of the user (mobile device or mobile app).
[0466] In another additional embodiment, a user is logged into the mobile app, and report solely his assigned telemetry unit(s). The user may be anonymous in the mobile app or mobile device and report solely his assigned telemetry unit(s) (which may be by company, by region, or random). In another additional embodiment, a component of the system (e.g., telemetry unit, mobile device or mobile app, server) transfers an identifier (MAC), certificate, keys, and / or other security context from the previous telemetry unit to the new unit, so the OS does not detect this is a new unit if it has been changed on purpose (e.g., exchangeable tank scenario, where the telemetry device stays attached to the tank). If full crowdsourcing support is desired, and if the OS prevents this, then the advertising identifier is all clones (i.e., same MAC for all telemetry units, globally or per company and / or per geographic region, changing over time or not, etc.) so the BLE reader device is known by the OS pending the user accepted once for the initial device. In this scenario, another varying identifier is used to distinguish the telemetry sensors, like a serial number, a GUID available inside the service characteristics, etc. One technical benefit is overcomes the problem of a mobile device being restricted from connecting to unknown BLE devices without prior user confirmation (e.g., per mobile device, per BLE reader device).
[0467] It should be apparent to those skilled in the art that at least some implementations of the present technology aim to expand a range of technical solutions for addressing one or more particular technical problems faced by asset monitoring services, such as inefficiency and cost (e.g., from a computing power standpoint) when operating outside of a usual zone (e.g., larger assets such that a smaller number of trips are needed for fulfillment), which may save computational resources, reduce computing power, or make more efficient use of network bandwidth.
[0468] It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every implementation of the present technology. For example, implementations of the present technology may be implemented without the user enjoying some of these technical effects, while other non-limiting implementations may be implemented with the user enjoying other technical effects or none at all.
[0469] Some of these steps and signal sending-receiving are well known in the art and, as such, have been omitted in certain portions of this description for the sake of simplicity. The signals can be sent-received using optical means (such as a fiber-optic connection), electronic means (such as using wired or wireless connection), and mechanical means (such as pressure-based, temperature based or any other suitable physical parameter based). Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting.
Claims
CLAIMS:
1. A system for enabling an operator to identify at least one user device suitable for an asset monitoring service, the system comprising: a telemetry unit comprising a wireless transceiver configured to receive sensor data from a first asset and make the telemetry unit detectable by a plurality of mobile devices that have installed thereon an asset monitoring application that is capable of communicating with the wireless transceiver; the at least one user device from the plurality of mobile devices, the at least one user device using the asset monitoring application to detect the telemetry unit when the at least one user device is within range such that the at least one user device communicates with the wireless transceiver; and a server in communication with the plurality of mobile devices, the server configured to: receive data from the asset monitoring application, thereby establishing a suitability of the at least one user device for the asset monitoring service at least with respect to the first asset; process the data pursuant to the suitability in order to communicate the sensor data or secondary data derived therefrom to the external device or to another user device.
2. The system of claim 1, wherein the at least one user device is associated with a second asset.
3. The system of claim 1 or claim 2, wherein the server receives the data from the asset monitoring application in separate data chunks from at least two of the plurality of mobile devices.
4. The system of any one of claims 1 to 3, wherein the server is further configured to communicate said suitability to at least another one of the plurality of mobile devices.
5. The system of claim 4, wherein the at least another one of the plurality of mobile devices is associated with the first asset.
6. The system of any one of claims 1 to 5, wherein the external device does not have installed thereon the asset monitoring application.
7. The system of any one of claims 1 to 6, wherein the external device communicates the sensor data or the secondary data to a fulfillment service.
8. The system of claim 7, wherein the external device automatically communicates the sensor data or the secondary data to the fulfillment service in order to trigger fulfilment of needs of the first asset.
9. The system of claim 7, wherein the external device has installed thereon a dashboard or API that displays the sensor data or the secondary data to the fulfillment service in order to give the option to the external device to initiate fulfilment of needs of the first asset.
10. The system of any one of claims 1 to 9, wherein the another user device is associated with the first asset and the server communicates the sensor data or the secondary data to the another user device.
11. The system of any one of claims 1 to 10, wherein the asset monitoring application is capable of communicating with the wireless transceiver when any of the plurality of mobile devices comes within a range of the wireless transceiver where a signal strength exceeds a minimum threshold.
12. The system of any one of claims 1 to 11, wherein the asset monitoring application is an app or a process running natively in an operating system of the plurality of mobile devices.
13. The system of any one of claims 1 to 12, wherein the at least one user device receives the sensor data when the at least one user device communicates with the wireless transceiver.
14. The system of any of claims 1 to 13, wherein the operator is at least one of: a person operating the system for a tank management service, a hot operating the system for the tank management service, the external user device, or a user of the external device.
15. The system of any one of claims 1 to 14, wherein the asset monitoring service is a dedicated tank monitoring service.
16. The system of any one of claims 1 to 15, wherein the wireless transceiver is a low- energy, widely available communication device.
17. The system of any one of claims 1 to 16, wherein the wireless transceiver is Bluetooth Low Energy (BLE) enabled.
18. The system of any one of claims 1 to 17, wherein the asset is a water tank, a fuel tank, a refrigerator, a greenhouse, an HVAC system, a laboratory, a farm, a truck trailer, a warehouse, or an office.
19. The system of any one of claims 1 to 18, wherein the plurality of mobile devices comprises smartphones, tablets, iPads, smart watches, smart glasses, or laptops.
20. The system of any one of claims 1 to 19, wherein the server receives the data from the asset monitoring application at least one of (a) periodically, (b) while the data is broadcast, or (c) after an inquiry.
21. The system of any one of claims 1 to 20, wherein the secondary data is derived from the sensor data to show at least one of: a summary of the sensor data, a simplified version of the sensor data, a statistical report of the sensor data, or a flag of action needed based on the sensor data.
22. The system of any one of claims 1 to 21, wherein the telemetry unit is configured to advertise an identifier that allows the at least one user device to detect a presence of the telemetry unit.
23. The system of any one of claims 1 to 22, wherein the server is further configured to: determine, based at least in part on the data, that one or more criteria for a service level for the first asset is not met, the criteria comprising at least one of: (i) a frequency of communication between the plurality of mobile devices and the telemetry unit is outside a first predetermined range with regards to a change in the first asset; or (ii) a status of the first asset is predicted to fall outside a second predetermined range during an absence of monitoring of the first asset by the mobile devices, thereby establishing a suitability of the first asset for the dedicated asset monitoring service.
24. The system of any one of claims 1 to 23, wherein the server is further configured to: receive at least one of: (i) location data of at least one of the telemetry unit or the first asset; or (ii) a notification that at least one of the telemetry unit or the first asset was detected outside a geographical area where the first asset was originally assigned the geographical area, the notification being sent by one of the plurality of mobile devices or the telemetry unit, whichever determined that at least one of the telemetry unit or the first asset was outside the geographical area; when the server receives the location data, determining that at least one of the telemetry unit or the first asset is outside the geographical area; when at least one of the telemetry unit or the first asset is determined to be outside the geographical area, removing the first asset from the plurality of assets monitored by the asset monitoring service so that the plurality of mobile devices stop receiving via the asset monitoring application any subsequent data from the telemetry unit.
25. A method for enabling an operator to identify at least one user device suitable for an asset monitoring service, the method comprising: configuring a telemetry unit comprising a wireless transceiver so that the wireless transceiver is capable of receiving sensor data from a first asset; registering a plurality of mobile devices as having installed thereon an asset monitoring application that is capable of communicating with the wireless transceiver; making the telemetry unit detectable by the plurality of mobile devices;detecting, by at least one user device from the plurality of mobile devices using the asset monitoring application, the telemetry unit when the at least one user device is within range such that the at least one user device communicates with the wireless transceiver; receiving, by a server in communication with the plurality of mobile devices, data from the asset monitoring application, thereby establishing a suitability of the at least one user device for the asset monitoring service at least with respect to the first asset; processing, by the server, the data pursuant to the suitability in order to communicate the sensor data or secondary data derived therefrom to the external device or to another user device.
26. The method of claim 25, wherein the at least one user device is associated with a second asset.
27. The method of claim 25 or claim 26, wherein the server receives the data from the asset monitoring application in separate data chunks from at least two of the plurality of mobile devices.
28. The method of any one of claims 25 to 27, further comprising communicating, by the server, said suitability to at least another one of the plurality of mobile devices.
29. The method of claim 28, wherein the at least another one of the plurality of mobile devices is associated with the first asset.
30. The method of any one of claims 25 to 29, wherein the external device does not have installed thereon the asset monitoring application.
31. The method of any one of claims 25 to 30, wherein the external device communicates the sensor data or the secondary data to a fulfillment service.
32. The method of claim 31, wherein the external device automatically communicates the sensor data or the secondary data to the fulfillment service in order to trigger fulfilment of needs of the first asset.
33. The method of claim 31, wherein the external device has installed thereon a dashboard or API that displays the sensor data or the secondary data to the fulfillment service in order to give the option to the external device to initiate fulfilment of needs of the first asset.
34. The method of any one of claims 25 to 33, wherein the another user device is associated with the first asset and the server communicates the sensor data or the secondary data to the another user device.
35. The method of any one of claims 25 to 34, wherein the asset monitoring application is capable of communicating with the wireless transceiver when any of the plurality of mobile devices comes within a range of the wireless transceiver where a signal strength exceeds a minimum threshold.
36. The method of any one of claims 25 to 35, wherein the asset monitoring application is an app or a process running natively in an operating system of the plurality of mobile devices.
37. The method of any one of claims 25 to 36, wherein the at least one user device receives the sensor data when the at least one user device communicates with the wireless transceiver.
38. The method of any of claims 25 to 37, wherein the operator is at least one of: a person operating the system for a tank management service, a bot operating the system for the tank management service, the external user device, or a user of the external device.
39. The method of any one of claims 25 to 38, wherein the asset monitoring service is a dedicated tank monitoring service.
40. The method of any one of claims 25 to 39, wherein the wireless transceiver is a low-energy, widely available communication device.
41. The method of any one of claims 25 to 40, wherein the wireless transceiver is Bluetooth Low Energy (BLE) enabled.
42. The method of any one of claims 25 to 41, wherein the asset is a water tank, a fuel tank, a refrigerator, a greenhouse, an HVAC system, a laboratory, a farm, a truck trailer, a warehouse, or an office.
43. The method of any one of claims 25 to 42, wherein the plurality of mobile devices comprises smartphones, tablets, iPads, smart watches, smart glasses, or laptops.
44. The method of any one of claims 25 to 43, wherein the server receives the data from the asset monitoring application at least one of (a) periodically, (b) while the data is broadcast, or (c) after an inquiry.
45. The method of any one of claims 25 to 44, wherein the secondary data is derived from the sensor data to show at least one of: a summary of the sensor data, a simplified version of the sensor data, a statistical report of the sensor data, or a flag of action needed based on the sensor data.
46. The method of any one of claims 25 to 45, wherein the telemetry unit is configured to advertise an identifier that allows the at least one user device to detect a presence of the telemetry unit.
47. The method of any one of claims 25 to 46, further comprising: determining, by the server, based at least in part on the data, that one or more criteria for a service level for the first asset is not met, the criteria comprising at least one of: (i) a frequency of communication between the plurality of mobile devices and the telemetry unit is outside a first predetermined range with regards to a change in the first asset; or (ii) a status of the first asset is predicted to fall outside a second predetermined range during an absence of monitoring of the first asset by the mobile devices, thereby establishing a suitability of the first asset for the dedicated asset monitoring service.
48. The method of any one of claims 25 to 47, further comprising: receiving, by the server, at least one of: (i) location data of at least one of the telemetry unit or the first asset; or (ii) a notification that at least one of the telemetry unit or the first asset was detected outside a geographical area where the first asset was originally assigned the geographical area, the notification being sent by one of the plurality of mobile devices or the telemetry unit, whichever determined that at least one of the telemetry unit or the firstasset was outside the geographical area; when the server receives the location data, determining, by the server, that at least one of the telemetry unit or the first asset is outside the geographical area; when at least one of the telemetry unit or the first asset is determined to be outside the geographical area, removing, by the server, the first asset from the plurality of assets monitored by the asset monitoring service so that the plurality of mobile devices stop receiving via the asset monitoring application any subsequent data from the telemetry unit.
49. A non-transitory computer-readable medium having stored thereon computerexecutable instructions that, when executed by at least one processor, cause the at least one processor to perform the method of any one of claim 25 to 48.
50. A method for enabling an operator to identify an asset suitable for a dedicated asset monitoring service, the method comprising: receiving, by a server in communication with a plurality of mobile devices having stored thereon an asset monitoring application, one or more notifications that one or more of the plurality of mobile devices detected a telemetry unit, the telemetry unit being configured to receive sensor data from the asset, when the one or more of the plurality of mobile devices came within range of the telemetry unit such that the one or more of the plurality of mobile devices communicated with a wireless transceiver of the telemetry unit; receiving, by the server, data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the asset; and determining, by the server, based at least in part on the data, that one or more criteria for a service level for the asset is not met, the criteria comprising at least one of:(i) a frequency of communication between the plurality of mobile devices and the telemetry unit is outside a first predetermined range with regards to a change in the asset; or(ii) a status of the asset is predicted to fall outside a second predetermined range during an absence of monitoring of the asset by the mobile devices, thereby establishing a suitability of the asset for the dedicated asset monitoring service.
51. A method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets comprising a first asset associated with a geographical area, the method comprising: receiving, by a server in communication with a plurality of mobile devices having stored thereon an asset monitoring application, one or more notifications that one or more of the plurality of mobile devices detected a telemetry unit associated with the first asset, the telemetry unit being configured to receive sensor data from the first asset, when the one or more of the plurality of mobile devices came within range of the telemetry unit and received via the asset monitoring application the sensor data from the telemetry unit; receiving, by the server, data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the first asset; receiving, by the server, at least one of: (i) location data of at least one of the telemetry unit or the first asset; or (ii) a notification that at least one of the telemetry unit or the first asset was determined to be outside the geographical area, the notification being sent by one of the plurality of mobile devices or the telemetry unit, whichever determined that at least one of the telemetry unit or the first asset was outside the geographical area; when the server receives the location data, determining, by the server, that at least one of the telemetry unit or the first asset is outside the geographical area;when at least one of the telemetry unit or the first asset is determined to be outside the geographical area, removing, by the server, the first asset from the plurality of assets monitored by the asset monitoring service so that the plurality of mobile devices stop receiving via the asset monitoring application any subsequent data from the telemetry unit.
52. A method of managing resources of a telemetry unit in an asset monitoring service, the telemetry unit configured to receive sensor data from a first asset monitored by the asset monitoring service, the asset monitoring service comprising an asset monitoring application that is installed on a plurality of mobile devices to make the mobile devices capable of communicating with the telemetry unit, the method comprising: reading, by the telemetry unit, the sensor data from the first asset; advertising, by the telemetry unit, a message, the message comprising at least one of (i) the sensor data or (ii) an identifier that allows the plurality of mobile devices to detect a presence of the telemetry unit and that the telemetry unit is connectable; sending, by the telemetry unit, the sensor data to one of the plurality of mobile devices; determining, by the telemetry unit, an action to manage the resources of the telemetry unit, the action comprising at least one of: stopping advertising of the message during a specified time period; limiting connection to the one of the plurality of mobile devices, thereby preventing connection to the telemetry unit by any other of the plurality of mobile devices; severing the connection to the one of the plurality of mobile devices after the sensor data is sent to the one of the plurality of mobile devices;adjusting a rate of the advertising of the message based on at least one of: (i) a count of the plurality of mobile devices that read the sensor data, (ii) how recent the sensor data was read, or (iii) a change in the sensor data exceeding a threshold; and executing, by the telemetry unit, the action.
53. A method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets comprising a first asset associated with a first telemetry unit having a first advertising identifier, the first telemetry unit being configured to receive sensor data from the first asset, the method comprising: sending, by the first telemetry unit, the sensor data to one or more of a plurality of mobile devices having stored thereon an asset monitoring application, when the one or more of the plurality of mobile devices comes within range of the first telemetry unit; receiving, by the first telemetry unit, a notification that a second asset associated with a second telemetry unit is being added to the plurality of assets monitored by the asset monitoring service, the notification also indicating whether the second asset is replacing the first asset; when the second asset is replacing the first asset: transferring, by the first telemetry unit, the first advertising identifier to the second telemetry unit so that the plurality of mobile devices interpret via the asset monitoring application any subsequent data from the second telemetry unit as being subsequent data from the first telemetry unit; and when the second asset is not replacing the first asset: cloning, by the first telemetry unit, the first advertising identifier for the second telemetry unit so that the plurality of mobile devices automatically connect via the asset monitoring application to the second telemetry unit; andstoring, by the first telemetry unit, an additional separate varying identifier for the second telemetry unit recognized by the asset monitoring application to allow the plurality of mobile devices to distinguish between the first telemetry unit and the second telemetry unit while maintaining connectivity to either the first telemetry unit or the second telemetry unit using the single advertising identifier.
54. A method for enabling an operator to manage a plurality of assets monitored by an asset monitoring service, the plurality of assets being associated with corresponding telemetry units, each of the corresponding telemetry units being configured to receive sensor data from a corresponding asset from the plurality of assets, the method comprising: assigning, by a server in communication with a plurality of mobile devices having stored thereon an asset monitoring application, a single advertising identifier to each of the telemetry units so that each of the plurality of mobile devices requires a single connection confirmation for any one of the telemetry units to connect to all of the telemetry units; storing, by the server, additional separate varying identifiers for each of the telemetry units recognized by the asset monitoring application to allow the plurality of mobile devices to distinguish between individual assets from the plurality of assets while maintaining connectivity to any of the telemetry units using the single advertising identifier; receiving, by the server, one or more notifications that one or more of the plurality of mobile devices detected one of the telemetry units, when the one or more of the plurality of mobile devices came within range of the one of the telemetry units and received via the asset monitoring application the sensor data from the one of the telemetry units and a corresponding identifier from the additional separate varying identifiers that identify which asset the sensor data is associated with;receiving, by the server, data from the asset monitoring application of the one or more of the plurality of mobile devices, the data relating to the sensor data for the one of the telemetry units; processing, by the server, the data and which asset the sensor data was associated with in order to communicate the sensor data or secondary data derived therefrom to an external device or to one of the plurality of mobile devices.
55. A method of managing resources of a telemetry unit in an asset monitoring service, the telemetry unit configured to receive sensor data from a first asset monitored by the asset monitoring service, the telemetry unit further configured to send the sensor data by at least one of a first channel or a second channel, the second channel being a lower energy channel than the first channel, the asset monitoring service comprising a server and an asset monitoring application that is installed on a plurality of mobile devices to make the mobile devices capable of communicating with the telemetry unit, the method comprising: initializing, on the telemetry unit, a connection status variable with a first value indicating that the telemetry unit is not connected to any of the plurality of mobile devices over the second channel; while the connection status variable has the first value: reading, by the telemetry unit, the sensor data from the first asset; sending, by the telemetry unit over the first channel, the sensor data to the server; advertising, by the telemetry unit over the second channel, a message, the message comprising at least one of (i) the sensor data or (ii) an identifier that allows the plurality of mobile devices to detect a presence of the telemetry unit and that the telemetry unit is connectable;when one of the plurality of mobile devices detects the presence of the telemetry unit, changing the connection status variable to a second value indicating that the telemetry unit is connected to at least one of the plurality of mobile devices over the second channel; sending, by the telemetry unit over the second channel, the sensor data to one of the plurality of mobile devices; suspending all sending of data by the telemetry unit over the first channel for a suspension period; after expiration of the suspension period, reinitializing, on the telemetry unit, the connection status variable with the first value indicating that the telemetry unit is not connected to any of the plurality of mobile devices over the second channel.
Citation Information
Patent Citations
Remote asset monitoring and control
US11451610B1
Asset Management Device and Method Using Simplex Satellite Transmitter Augmented with Local Area Transceiver
US20110090041A1
Wireless tank level monitoring system
US20130054159A1
Asset-condition monitoring system
US20160109411A1
Internet of things (IoT) automated intelligence module (AIM) and management system
US9752840B1